Releases: dcm4che/dcm4chee-arc-light
5.28.0
Enhancements
- UI Navigation Studies : Support filter FreezeExpirationDate for Update Study Expiration Date #1811
- UI : Studies page / Lifecycle Management page (pro) : Protect individual studies from getting expired #1813
- UI Study Page: Enable asynchronous rejection of instances #1816
- UI Navigation page : Enable DCM4CHEE Archive specific services/functions only if DCM4CHEE_ARC_AET web service class is configured for a web application #2326
- Handle inconsistent Issuer of Patient ID/Local Namespace Entity IDs and Universal Enitity ID on storage gracefully #3413
- UPS on Store/HL7/UPS Completed: Mulitple Scheduled Station (Name/Class/Geographic Location) Codes and Scheduled Human Performer Codes #3576
- Remove duplicate request logging in StudyMgtRS services #3746
- RESTful service to set, get, delete a value associated to a specified key #3748
- UI Navigation Studies / Series : Limit functions displayed in Actions for Selections specific to DCM4CHEE_ARC_AET web service class services #3749
- UI Navigation Series : Disallow relational queries for DIMSE specific web apps #3750
- UI Navigation Workitems : Enable UI permission Action - Studies - UWL and UI Action action-studies-uwl for UPS management functions visibility in secure archive #3751
- Optionally permit an UPS Pull SCU or UPS-RS Web client to update or change the state of an UPS workitem in state IN PROCESS without specifying a Transaction UID #3752
- Update DB SQL scripts for 5.28.0 for databases other than postgres #3753
- Restrict access to RESTful services with target URL /dcm4chee-arc/aets/{aet}/... to authenticated users with one of configured Keycloak realm roles #3754
- UI Navigation Workitems : Enable to unsubscribe and change state of single workitem #3760
- ldap docker image: split default-config.ldif into init-config.ldif, dcm4chee-arc.ldif, keycloak.ldif, logstash.ldif, storescp.ldif, stowrsd.ldif and scheduledstation.ldif #3767
- UI Navigation Workitems : Enable to unsubscribe from / suspend Global / Filtered Unified Worklists #3772
- UI Navigation Workitems : Subscribe to single UPS or global / filtered UWL #3774
- Enable sending Study UID information in optional OBX segment of EYECARE-22 Procedure Status Update OMG^O19 notification #3775
- Rectify logging info to correctly reflect MWL SCP from which MWL items are found when using new archive attribute coercion to merge from MWL #3783
- Enable coercing additional patient identification and patient demographic attributes on coercing received objects' attributes using new archive attribute coercion to merge from external MWL #3784
- RESTful service to restore DB records from Series Metadata ZIP Archives #3787
Bug Fixes
- fail to cancel rescheduled UPS when there are subscriptions #3345
- Cloning of non SCHEDULED UPS workitems fails with error 'Provided value of UPS State was not SCHEDULED' #3667
- QIDO-RS - Download as CSV fails if archive only contains rejected entities #3741
- UI Navigation Series : Incorrect filters displayed in Schedule Storage Verification of matching Series widget #3743
- ExporterID and FreezeExpirationDate query filters fail to get applied in Update Expiration Date to study / series REST service #3744
- UI Navigation Studies : Updating existing expiration date of a study always resets to current date in Set expiration date dialog window #3745
- Incorrect response sent back for unsubscribe / suspend UPS workitem / worklist REST services if target subscription is not found #3765
- UI Navigation Workitems : Misleading create template options in Edit UWL dialog causes incorrect REST services invocation #3766
- Processing of UPS Workitems may fail with IncompatibleSpecificCharacterSetException if the workitems are (global-/filtered-) subscribed #3780
- UPS creation on receive of HL7 broken #3781
- Handle configuration triggered errors on UPS creation on completion of previous UPS gracefully #3782
Dependencies
- Keycloak docker image: Upgrade to Keycloak.X 19.0.1 #3742
- Upgrade included JDBC Drivers #3759
- Upgrade Wildfly in archive docker image to 26.1.2.Final #3791
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 19.0.1 #3792
Documentation
- UI Configuration HL7 Study Retention Policy schema : Improve Minimal Study Retention Period description #1751
- Move swagger specification from dcm4chee-arc-ui2/src/swagger/ to docs/swagger/ #3747
- UPS Dimse / archive proprietary services : Move UPS DIMSE and archive proprietary specific services from UPS-RS to UPS-DIMSE-RS / UPS-ARC-RS respectively #3758
- Wiki Howto: Setup Docker Swarm test environment using Multipass #3773
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.28.0
5.27.0
Enhancements
- UI: Support Replace of Device Vendor Data #985
- UI Monitoring: Export Tab - Enable the ability to select multiple 'Exporter IDs' when searching. #1404
- UI: Configurator: Add support for exclusiveMinimum and exclusiveMaximum #1407
- UI Studies page Upload bulkdata file service : Enable to upload CDA documents to archive #1477
- UI Navigation Series: Enable application of configured Study Retention Policies to matching Series #1514
- UI: Import a single 3D model in Stereolithography (STL) file on the local filesystem to a study in the archive using STOW-RS #2094
- Support to select Archive Backend in the Archive UI potentially deployed on a different Wildfly instance than the Archive UI enhancement #3114
- HL7 FHIR R4 Patient Demographics Query (PDQ) Service Provider enhancement #3307
- ldap docker image: provide script to assign an existing user permissions to manage accounts enhancement #3690
- Enable updating MWL status to COMPLETED based on matching key enhancement #3691
- De-identification Attribute Coercion Option to retain hashed Patient ID in the attributes enhancement #3696
- UI: Support use of Angular Path instead Hash Location Strategy enhancement #3703
- Keycloak.X docker image: Make log file roations configurable by environment variables enhancement #3704
- archive docker image: Delete server log files older than specified number of days automatically enhancement #3709
- Enable to use different URLs for accessing Keycloak from the archive backend than from the archive UI frontend enhancement #3711
- UI: On the delete AE dialog remove Delete also the device... checkbox if the device is the archive device enhancement #3712
- Enable supporting additional request specific attributes in stored report (SR / PDF / CDA) object's dataset enhancement #3713
- Update DB SQL scripts for 5.27.0 for databases other than postgres enhancement #3715
- Composite Query: support Request attributes nested in Reference Request Sequence on instance level as matching key enhancement #3717
- Do not include private attributes with default values in QIDO-RS responses enhancement #3723
- Include private attributes with values of DB columns study.modified_time and series.modified_time in QIDO-RS response enhancement #3724
- UI: Streamline multi checkbox dropdown in Monitoring -> Retrieve to be similar to Navigation - Studies #3729
- UI: Show all configured Archive Backend Devices in Control Tab #3731
- UI Configuration: Invoke Reload Service on Archive Backend which Configuration was updated #3732
- UI Navigation - Studies : Ensure required encapsulated PDF document attributes are sent in request payload on uploading PDF files #3733
- UI Studies page Upload bulkdata file service : Enable to upload MTL / OBJ / STL / Genozip files to archive #3737
- Unify Apply Retention Policy to matching series RS service #3739
Bug Fixes
- Merge patient service RS forwarding is ineffective bug #3626
- Supplement from device coercion : Add missing supplementing of Issuer of Accession Number Sequence in supplementIssuers and remove supplementRequestIssuers invoked on root dataset bug #3700
- Archive Docker image: deployment with WILDFLY_ADMIN_OIDC=false fails: The required mechanism 'KEYCLOAK' is not available bug #3701
- Update of series may fail with IncompatibleSpecificCharacterSetException bug #3702
- Clone device can't change ports bug #3706
- QIDO-RS : Search for Series / Instances of Study and Search for Instances of Series returns '204 No Content' if instance purging as well as returning last modified time / ETag is enabled bug #3719
- Relational queries on instance level with purged Instance Records does not return matches if no Study Instance UID or no Series Instance UID is specified bug #3725
- UI Monitoring - Export : Missing values in Exporter ID dropdown in Reschedule Tasks dialog if configured exporters have no description #3730
- Apply Retention Policy to series RS service broken #3738
- UI: If a value in the attribute-list is too long, it destroys the structure of the attribute list #3740
Dependencies
- OAuth2 Proxy docker image: upgrade to v7.3.0 dependencies #3693
- Keycloak docker image: Upgrade to Keycloak.X 18.0.2 dependencies #3699
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 18.0.2 dependencies #3708
- Upgrade Postgres DB docker image to 14.4 dependencies #3718
- Upgrade logstash in docker image to 8.3.2 #3735
Documentation
- Wiki: How do upgrade Keycloak from 11.0.3 to 15.0.2 doc #3319
- Wiki: How To encapsulate/decapsulate genozip files into/from DICOM objects using pdf2dcm, dcm2pdf and store/retrieve to/from (un-)secured archive using stowrs/wadors tools doc #3648
- Wiki: How do upgrade Keycloak to Keycloak.X 18.0.1 doc #3671
- Wiki: Update How to Secure Kibana using OAuth2 Proxy to latest Kibana, OAuth2 Proxy and Keycloak.X version doc #3694
- Wiki: Running On Docker: Replace legacy Keycloak-Gatekeeper by OAuth2 Proxy doc #3695
- Add Results Distribution profile in IHE Integration Statement doc #3714
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.27.0
5.26.1
Enhancements
- Keycloak Docker image: Provide ENVs for HTTPS/SSL with a Reverse Proxy #3141
- Improve HL7 error acknowledgement sent to clients on HL7 messages' processing failures #3628
- HL7 order / observation reports messages processing : Ensure admission ID is populated from Visit Number or Patient Account Number #3631
- Optionally verify TLS Server Identity against DNS name or IP in server certificate #3633
- Audit Service : Suppress spooling of connection failures to audit record repository #3634
- Suppress log of stacktrace on SocketException on read of first HL7message from accepted TCP connection #3635
- UI Navigation - AE list : Provide list of default values for Primary Device Type on registering a new Application Entity #3641
- Reduce logging level of exceptions in audit service from WARN to INFO #3644
- Retrieve audit service improvements and fixes #3646
- MWL Feed by HL7 v2 Order: Make matching of OBX:5.2 for mapping of Patient Weight/Height case insensitive #3659
- Storage Commitment SCP: Validate Action Information in received N-ACTION RQs #3660
- archive docker image: enable to preserve older files in host directories from getting overwritten by files with newer timestamp from the image #3661
- HL7 Procedure Status Update specific configuration : Streamline field names for consistency #3662
- UI Navigation - Workitems : Enable allowing patient attributes to be added on creating a new UPS #3663
- UI Navigation patient IOD : Replace optionality of Clinical Trial Sponsor Name and Clinical Trial Protocol ID attributes from Type1 to Type2 #3664
- UI Navigation Workitems : Avoid misleading duplicate CANCEL buttons on requesting cancellation of workitem popup #3666
- archive docker image: Change default value for ENV WILDFLY_DISABLE_CACHING_FOR_SECURED_PAGES from true to false #3670
- Coerce DICOM object attributes from MWL : Extend querying MWL items from local archive to also consider PatientID as matching filter #3675
- Support matching by "Patient ID only" for attribute coercion from matching MWL item #3676
- LDAP docker image: split update LDIF files per version into separate directories #3683
- LDAP Docker image: enable to customize command used to apply environment variables on importing LDIF files specified by LDAP_INIT_CONFIG at first LDAP startup #3684
- LDAP Docker image: Enable to customize which scripts are invoked on each container start up #3685
- Keycloak Docker Image: Initialize Keycloak clients for Archive UI and Archive Wildfly Administration Console on first startup #3686
- Correct odd length of Pixel Data (Segment) on receive/retrieve #3687
Bug Fixes
- QIDO and WADO-RS services returning multipart/relayed payloads fail with ClassCastException on WIldfly 25.0.x #3496
- HL7 Referred Merged Patient policy configured as REJECT or IGNORE_DUPLICATE_MERGE is ineffective #3620
- PatientMergedException triggered HL7 error acknowledgement messages do not contain Error Location in ERR:2 #3622
- Empty PID.11 Patient Address in HL7 messages creates DICOM Patient Address (0010,1040) attribute value as ^ #3632
- RESTful service for exporting DICOM objects of one Study or Series broken for Series with purged Instances #3639
- LDAP data update 5.26.0 fails with modify operation type is missing at line 4 #3647
- Queued export triggered on study or series levels fails with NPE #3649
- Typo in LDIF filename ICOM_EXPIRED-5.16.2.ldif (correct: IOCM_EXPIRED-5.16.2.ldif) in LDAP docker container and binary distribution package #3650
- ArchiveAttributeCoercion2::toString throws NPE if property otherDevice = null #3655
- Calculated Study size may become stale on receive of further objects of that study during the calculation #3674
- Keycloak may throw java.lang.StringIndexOutOfBoundsException on emitting Audit Message via syslog-tls #3679
- Archive Docker Image: UI broken in 5.26.0 by using wrong path for AE specific RESTful services #3682
Dependencies
- Upgrade Wildfly in archive docker image to 26.1.1.Final #3477
- Upgrade Apache jclouds to 2.5.0 #3652
- Upgrade Keycloak in docker image to 18.0.0 (Keycloak.X Quarkus distribution) #3658
- Upgrade included JDBC Drivers #3673
- ldap docker image: upgrade alpine to 3.16.0 #3680
Documentation
- Building of dcm4chee-arc-hl7cs at readthedocs.org fails #3439
- HL7 CS : Add error codes mapping and usage information #3619
- Links to diagrams in the wiki are broken #3642
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.26.1
5.26.0
Enhancements
- Denormalize issuer table #3207
- Notify HL7 Receivers and/or update MWL status to STARTED on receive of MPPS with IN PROGRESS status #3483
- Log of retries on failures on DB update on calculating query attributes shall not include stack trace #3560
- Log failures on deletion of MWL Items by MWL Scheduler and run deletion of individual MWL Item in an own transaction #3561
- Improve logging of TaskScheduler #3564
- Include (0038,0016) Route Of Admissions in Study Attributes filter by default configuration #3566
- Map HL7 v2 PV1:2 Patient Class to DICOM (0038,0016) Route of Admissions by XSLT stylesheets of default configuration #3568
- Forward HTTP requests dependent on hostname and/or IP address of the client that sent the request #3569
- UI Navigation Series: Filter by Requested Procedure ID and Scheduled Procedure Step ID #3570
- Copy (0038,0014) Issuer of Admission ID Sequence from MWL to Study attributes by MWL Attribute Coercion referring mwl2study XSLT stylesheet #3571
- archive docker image: configurable host DNS lookup of peer address by Wildfly Undertow servlet container #3572
- Update DB SQL scripts for 5.26.0 for databases other than postgres #3573
- UI Navigation - UPS : Support multiple codes entry on UPS creation / update #3577
- UI Navigation Copy or Move entities / Link Instances to MWL : Extend error information displayed to user showing error message returned by service #3581
- Support mapping of PID.11 in HL7 messages to Patient Address (0010,1040) DICOM attribute #3582
- Extend task logging to include local and remote AETs of storage commitments task processing #3584
- StgCmt SCP: Do not apply configured Masquerade Calling AE Title #3592
- Send Route of Admissions (0038,0016) in outgoing HL7 Procedure Status Update message #3594
- Send Admission ID and Issuer of Admission ID Sequence in outgoing procedure status update message #3596
- Persist Sending/Receiving HL7 Application/Facility of objects received by HL7 ORU messages #3599
- C-FIND SCP: Support wildcard matching for Sending/Receiving HL7 Application/Facility of Series #3600
- QIDO-RS: Support wildcard matching for Sending/Receiving HL7 Application/Facility of Series #3601
- UI Navigation > Studies/Series: Filter by Sending/Receiving HL7 Application/Facility of Series #3602
- STOW-RS: Support upload of Genozip compressed genomic file as Bulkdata and store it as object of private SOP Class #3604
- C-FIND SCP: Support wildcard matching for Sending/Receiving HL7 Application/Facility of Series #3600
- QIDO-RS: Support wildcard matching for Sending/Receiving HL7 Application/Facility of Series #3601
- UI Navigation > Studies/Series: Filter by Sending/Receiving HL7 Application/Facility of Series #3602
- STOW-RS: Support upload of Genozip compressed genomic file as Bulkdata and store it as object of private SOP Class #3604
- WADO-RS: Support download of Genozip compressed genomic file as Bulkdata stored in object of private SOP Class #3605
- Accept SOP Class Private Dcm4che Encapsulated Genozip Storage by default configuration #3606
- WADO-URI: Support download of Genozip compressed genomic file as Bulkdata stored in object of private SOP Class #3607
- QIDO-RS: Include Available Transfer Syntax UID (0008,3002) in Instance Resources Search Response Payload by default #3609
- Add PerformedProcedureStepEndDate and PerformedProcedureStepEndTime in Series attribute filter default configuration #3613
- Support Institution Name mapping in incoming HL7 ORU messages conversion to DICOM SRs / PDFs #3616
- HL7 messages processing : Reject messages with missing Sending / Receiving Application and / or Facility #3618
Bug Fixes
- WADO-RS mismatch between media type and transfer syntax UID #3443
- UPS C-FIND and UPS-RS Search operations only consider first item of Scheduled Station (Name/Class/Geographic Location) Code Sequence for matching #3567
- On using webapp / AE specific to IOCM Q/R views rejected studies count differs with displayed rejected studies #3574
- Link instances to MWL may fail with org.dcm4che3.data.IncompatibleSpecificCharacterSetException #3579
- UI Navigation : Link instances to MWL / Copy or move entities shows incorrect message even when whole process failed for all instances #3580
- create-firebird.sql broken #3589
- UI: Work items: 'Creating new UPS Workitems' doesn't work in a secured version of the UI #3590
- IOException occurring on moving an audit spool file with .failed suffix is not logged, instead original exception is logged #3591
- Fix erroneous (historical) db scripts for db2 and firebird #3593
- HL7 Procedure Status Update PID PV1 config is ineffective if outgoing procedure status update message is OMG^O19 #3595
- UI Permission: You can not configure to show a tab without showing the first tab in the row too #3597
- UI: Attribute block sometimes is not rendered completely #3603
- WADO-RS: Retrieve of DICOM Video objects fails with 500 Internal Server Error #3608
- UI Configuration - AE list : Searching by AE title filter does not work #3610
- HL7 order messages processing : Rectify Patient's Weight and Patient's Size validation conditions #3614
- STAT-RS Count/Sizeof Studies/Series ignores "Show Instances Rejected By Code(s)" if "Hide Not Rejected Instances" = true #3615
Dependencies
Documentation
- Building of dcm4chee-arc-cs at readthedocs.org fails #3440
- Erroneous Restructured Text files in DICOM Conformance Statement Source concerning security/audit #3562
- Erroneous Restructured Text files in HL7 Conformance Statement Source concerning security/audit a.o. #3563
- Add missing archive network AE extension details in AE titles of archive wiki #3575
- Update HL7 Conformance Statement : Fix discrepancies concerning Issuer of Admission ID Sequence attributes' usage in Procedure Management Service - Inbound #3598
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.26.0
5.25.2
Enhancements
- Replace deprecated CSV format methods used in RS services involving upload / download of CSV files #3512
- keycloak docker image: make JGroups server socket bind address configurable by ENV JGROUPS_BIND_IP_PREFIX #3513
- ldap docker image: optionally add mapping of specified hostname to (one) container IP to /etc/hosts #3514
- RESTful service to get server time zone #3519
- Wado Exporter: optionally ignore responses with HTTP Status 404 Not Found #3520
- Add CORS Header "Access-Control-Expose-Headers: content-type, warning" in responses of RESTful services #3521
- Split Merge MWL SCP of Archive Attribute Coercion (Legacy) to allow explicit selection of local or external MWL SCP used for coercing received objects against MWL items #3525
- Optionally consider the SOP Class UID on Instance level for calculation of matches with SOP Classes in Study (0008,0062) #3526
- Improve logging for attribute coercions (legacy and new) #3527
- Extend task logging to include additional information from created / processed task #3528
- Log UID of study being updated on receive of HL7 order messages #3532
- UI Monitoring tabs : Provide 'Search field' in filters for easier searching of filter values to be used in Search / Count queries #3535
- UI Navigation MWL : Provide 'Download MWL as CSV' in More Functions in MWL tab #3536
- UI Navigation Patients : Provide 'Download Patients as CSV' in More Functions in Patients tab #3538
- Blacklist AE Title of peer Network AE as not capable to handle Asynchronous Operations Window Negotiation correctly #3540
- Enable to coerce Specific Character Set by configured Archive Attribute Coercion #3542
- archive docker image: do not require to purge host mounted deployments directory on version update #3545
- UI Configuration page - AE list tab : Enable better searching by improving filters' fields #3553
- ldap docker image: add script bin/expoer-account to export user roles of Keycloak standard client account #3559
Bug Fixes
- STOW-RS: On storage failures the Response Message Body contains Command Field: (0000,0902) Error Comment #3518
- UI Navigation - Studies : Include DICOMDIR option for Download DICOM Object is ineffective #3524
- archive docker image: actual default value of ENV POSTGRES_DB 'pacs' differs from 'pacsdb' in README.md #3529
- WADO Service: retrieve of scaled RLE compressed images fails with java.awt.image.ImagingOpException: Unable to transform src image #3533
- Processing of HL7 Order message referring an already existing study may fail with org.dcm4che3.data.IncompatibleSpecificCharacterSetException #3534
- UI Navigation Studies : Download Studies as CSV function broken #3537
- UI Monitoring - Queues : Count tasks of particular queue always resets queue name to first pre-selected queue shown in Queue Name dropdown i.e. DICOM Export Tasks #3539
- MWL SCP: missing attributes in C-FIND responses #3543
- Composite Query C-FIND SCP: missing attributes in C-FIND responses #3544
- Processing of HL7 Order message referring an already existing MWL item fails with org.dcm4che3.data.IncompatibleSpecificCharacterSetException #3546
- Identical HL7 Order messages results in redundant update of MWL (attributes) records in DB and duplicate emission of Procedure Record (Update) audit messages #3547
- Keycloak in docker image: missing roles of account client in initialized dcm4che realm #3551
- Connection timeouts not effective on blocking write of DIMSE #3557
- Export of Prior Studies may fail caused by concurrent calculation of Query Attributes for a particular Study or Series #3356
- UI Navigation Patients - Create MWL : UI remains unresponsive on using 'Add MWL' for a patient record #3460
- UI Navigation : Invalid Issuer of Patient ID Qualifiers Sequence in dataset causes UI to display invalid values #3511
- WADO Service: retrieve of scaled rendered palette color images fails with java.awt.image.ImagingOpException: Unable to transform src image #3515
- STOW-RS: Receive of non(-valid) DICOM stream in multipart/related request payload causes Internal Server Error caused by NPE #3517
- STOW-RS: On storage failures the Response Message Body contains Command Field: (0000,0902) Error Comment #3518
- UI Navigation - Studies : Include DICOMDIR option for Download DICOM Object is ineffective #3524
Dependencies
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.25.2
5.25.1
This release fixes some urgent issues of previous release 5.25.0:
Particularly it reverts
- Upgrade Wildfly in archive docker image to 25.0.1.Final #3477
as workaround for
- QIDO and WADO-RS services returning multipart/relayed payloads fail with ClassCastException on WIldfly 25.0.x #3496
caused by RESTEASY-3069
Also EAR files provided by binary distributions 5.25.0 are affected by
- WadoExporter throws java.lang.NoSuchMethodError on deployment on Wildfly 24.0.1 #3499
caused by being complied against RESTEasy 4.7.2 but running with RESTEasy 3.15.1 in Wildfly 24.0.1
Enhancements
- Truncate HL7 messages included in emitted Audit Records to configurable size #3495
Bug Fixes
- UI Navigation - Series : Modality filter passed incorrectly passed as ModalitiesInStudy query parameter in triggered REST services #3494
- WadoExporter throws java.lang.NoSuchMethodError on deployment on Wildfly 24.0.1 #3499
- UI still shows no longer effective Exporter Priority of Exporters #3503
- UI Navigation : Toggle checkboxes in Actions for Selections dropdown is unresponsive #3509
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.25.1
5.25.0
Enhancements
- Generalize Attribute Coercion and enable to apply multiple matching Attribute Coercions in configurable order #2967
- QIDO - RS: Consider Patient Update Time for Last-Modified and ETag only if the response contains Patient attributes #3372
- WADO-RS Metadata: Do not consider Patient Update Time for Last-Modified and ETag for values of proprietary Query Parameter "includefield" referring Attribute Sets without Patient Level attributes #3373
- WADO-URI: Do not consider Patient Update Time for Last-Modified and ETag for Retrieve Rendered Instance Transaction #3378
- WADO-RS: Do not consider Patient Update Time for Last-Modified and ETag for responses containing no Patient Information #3379
- Do not include pro version specific UI configuration in default configuration of community version #3400
- RESTful services to schedule export of a single Study, Series or Instance shall return properties of scheduled Export Task #3401
- RESTful services to schedule retrieve of a single Study, Series or Instance from an external C-MOVE SCP shall return properties of scheduled Retrieve Task #3402
- Patient Demographics Query (PDQ) Service Provider querying Patient Demographics from DB Table #3403
- Reset status of Tasks with status IN PROCESS on system start-up to SCHEDULED #3410
- Purge leaving JMS terms from UI and DCS #3411
- Restrict Scheduled Procedure Step Status in SPS Status for HL7 Order to statuses supported in IHE RAD-4 / RAD-13 and EYECARE-21/EYECARE-22 #3414
- RESTful service to get next value from configured ID Generator #3418
- Create Scheduled Procedure Step RS service : Apply default HL7 Order Scheduled Station details for payloads with missing Scheduled Station AE Title #3419
- UI: Navigation/Patients/add MWL: populate Accession Number from configurable ID Generator #3420
- Enable to configure AE/HL7 Application specific ID Generators for Accession Number, Requested Procedure ID and Scheduled Procedure Step ID #3423
- UI Configuration: provide drop-down for selecting ID Generator Names configured for that Device #3424
- QidoRS Search for Series/Instances of Study or Search for Instances of Series services : Return 204 - No Content if last modified date is null #3426
- WADO-URI / WADO-RS services : Improve error message returned if last modified date is null #3427
- Extend UI language list configuration to support Chinese #3429
- Avoid creating empty issuer / assigining authority sequences in worklists on receive of HL7 order messages if the corresponding field only contains main identifier #3432
- RESTful service to update character set of Patient Attributes in DB BLOB fields #3434
- UI: Navigation -> Patients: Update Character Set of Patient attributes in DB BLOB on matching Patients #3436
- UI: Configuration: Attribute Widget is to slow due to the long list showing up #3437
- Create / Update MWL : Ensure MWL item created / updated in DB always has SCHEDULED as SPS Status if incoming source provides no value for this field #3444
- Optionally only consider MWL items of a particular Archive MWL AE on coercing received objects against local MWL items #3446
- STOW: use AE title in URL path of the request instead of the AE Title of the Network AE as "ReceivingApplicationEntityTitle" on matching Attribute Coercions #3449
- keycloak docker image: enable to mount themes directory /opt/keycloak/themes to host directory to facilitate customizing #3453
- Update DB SQL scripts for 5.25.0 for databases other than postgres #3459
- Reject incorrectly encoded HL7 ORU messages containing PDF reports #3463
- Change default value of super user role from "admin" to "root" #3475
- RESTful service GET /dcm4chee-arc/devicename : do not return property 'super-user-role' #3476
- Provide docker images for ldap, postgres, archive and keycloak also for linux/arm64 and linux/arm/v7 #3487
- Avoid misleading 'Series referenced in HL7PSUTask does not exist' in log for HL7 notification sent out on MPPS trigger #3488
- STOW - RS services : Add request's remote port info in logged request. #3489
Bug Fixes
- UI: Make needed changes automatically on device clone so that the user doesn't need to change after the clone anything #3310
- Export of Prior Studies may fail caused by concurrent calculation of Query Attributes for a particular Study or Series #3356
- WADO-RS thumbnail - returns 500 Internal Server Error instead 406 Not Acceptable #3408
- Scheduled Time incorrectly parsed for hour indicating '12' #3412
- Fix update-5.23.sqlserver.sql to include correct create case insensitive index / alter column sql statements for alphabetic_name, ideographic_name, phonetic_name #3415
- Fix incorrectly created 'study_desc_upper_idx' in create-case-insensitive-index-sqlserver.sql #3416
- Fix update-5.18-sqlserver.sql to also include dropping index of instance.reject_code_fk #3417
- UI Navigation Study / Series tabs : Tab loading causes Internal Server Error if Archive AE Extension is missing for one of the AEs of archive device #3425
- Update of Study Attributes fails with IncompatibleSpecificCharacterSetException #3433
- UI Configuration : Incorrect character set values selected / stored for Latin alphabet No. 3 and Latin alphabet No. 4 #3438
- Pro UI configuration : Remove duplicate UI Permissions #3450
- Queue configuration for extra exporters missing in sample configuration #3455
- UI Navigation Patients - Create MWL : Scheduled Procedure Step ID field missing in default popup window #3461
- RESTful forwarding tasks may be retried infinitely #3462
- RS Forwarding for Update Study service fails with 405-MethodNotAllowed #3464
- Handling of certain RESTful services forwarding is missing in RSClient implementation #3465
- QIDO-RS, WADO-RS, WADO-URI with If-Modified-Since HTTP Header never returns 304 Not Modified #3466
- UI Navigation : Uploading multiple bulkdata (image/pdf/video) files on patient / study / series / MWL fails with 409-Conflict #3469
- UI Navigation Studies : Synchronous rejection of Study / Series / Instance displays queued rejection message #3470
- WADO Exporter returns status COMPLETED on receive of HTTP responses with failure status codes #3471
- UI Configuration: Configured Preferred Transfer Syntaxes of Transfer Capability Extension not visible #3472
- UI: Filter-template / filter local save: Dropdown filters are sometimes not displayed as selected even if the filter was saved #3474
Dependencies
- ldap docker image: upgrade alpine to 3.14.3 #3457
- Upgrade base image of archive and keycloak docker image to eclipse-temurin:11.0.13_8-jdk-focal #3478
- ldap docker image: upgrade base image alpine:3.15.0 with openldap 2.6.0 #3481
- Upgrade Keycloak in docker image to 15.1.0 #3484
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 15.1.0 #3485
- Update apache-common-csv from 1.7 to 1.9.0 #3486
- Upgrade logstash in docker image to 7.16.1, fixes ES CVE-2021-44228 #3492
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.25.0
5.24.2
Attention: This release fixes 2 serious bugs introduced in 5.24.0:
- Cancelling, Rescheduling or Deletion of matching tasks may cause infinite loop #3387
- STOW-RS fails to accept requests with payloads with PS3.10 representations of SOP Instances #3392
Enhancements
- UI Navigation : Provide new Series tab to enable Series specific queries and REST services #1657
- RESTful service to update Series Attributes #3363
- UI Navigation: Edit Series Attributes #3364
- Change RESTful service to update Study Attributes #3366
- UI: Navigation: Rejection reason should be preselected to be "Retention Expired" on the Rejection Dialog #3367
- WADO-RS metadata: rename proprietary Query Parameter 'includefields' to 'includefield' #3371
- UI Navigation - Studies / Patients / Series / MWLs / MPPS tabs : Provide valid tooltip values for options in 'Order by' filter #3377
- UI Navigation - Change Order of Tabs to Patients / Studies / Series / MWL / MPPS / Work Items / Compare #3380
- UI Monitoring - Queue: Submit shall update counts by status #3381
- UI Monitoring - Queue: Wildcard "*" shall be removed from Queue Name Drop-Down #3382
- Log Task ID in log messages on task creation / update / scheduling / processing #3384
- Provide sort by scheduledTime in Queue / Export / Retrieve / Compare / Storage Verification Tasks/Batch services #3388
- UI Monitoring : Provide sorting by scheduled time (asc / desc) in Queues / Export / Retrieve / Compare / Storage Verification tabs #3389
- Purging of queued Tasks: each device shall only purge task associated with its own device #3391
- Replace NPE by ConfigurationException on failure to process Retrieve Tasks with not configured/installed AE on that device #3396
- ldap docker-image: provide script del-ui-config to delete UI related configuration #3399
Bug Fixes
- UI Navigation page -> Patients tab : Update patient fails if any attribute with "required" or "multi" in patient.iod.json is being added/updated #2331
- UI: Configuration: Deleting fo a NetworkConnection is sometimes not possible even if the connection is not referenced #2436
- Remove list of retrieve queues used in validating retrieve queue name query parameters from retrieve entities from external archive services #3362
- UI Monitoring - Retrieve : Remove redundant priority field from upload CSV widget #3365
- UI Navigation - Studies : More Functions dropdown contains Export / Reject / Storage Verification of matching series #3368
- UI Navigation Studies / Series : Proprietary archive functions visible in More Functions for external archive web applications #3369
- UI Navigation : Series tab results are displayed on switching to any other tabs in Navigation page #3370
- UI Navigation - Series tab : 'Order by' dropdown contains no options for ordering series results #3376
- Associating OtherAETitle as Archive AET in Exporter Descriptor configuration causes NullPointerException on export task processing #3385
- Last Modified date value logging is not effective in QIDO / WADO services #3386
- Cancelling, Rescheduling or Deletion of matching tasks may cause infinite loop #3387
- STOW-RS fails to accept requests with payloads with PS3.10 representations of SOP Instances #3392
- Retrieve / Diff / Storage Verification List Batch services does not return minProcessingStartTime #3395
- RESTful service to List Open Associations occasionally fails with 500 Internal Error caused by NPE #3397
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.24.2
5.24.1
Enhancements
- UI: adjust task scheduling and monitoring functions to changes in corresponding RESTful services #3269
- Coercion of search parameters of incoming QIDO HTTP requests #3309
- Log Search Attribute Coercion in server.log #3314
- LDAP docker images: update archive-device.ldif used by script add-archive-device to match current default configuration #3315
- UI Navigation - Studies : Limit queue name field to allow selecting only retrieve queues on retrieving study / series / object from external archive #3324
- QIDO: use AE title in URL path of the request instead of the AE Title of the Network AE as "ReceivingApplicationEntityTitle" on matching Attribute Coercions #3327
- C-FIND SCP/QIDO-RS: Optionally filter by Issuer of Patient ID even if no matching key is specified for Patient ID #3328
- WADO / QIDO Exporter : Replace TLSAllowAnyHostName and TLSDisableTrustManager exporter properties with those from target web application #3329
- Remove ORDER BY in SQL to find Rejection Notes to be deleted #3332
- Create/Update of Series Metadata shall not change Last-Modified and ETag of WADO/QIDO responses for that Series #3333
- Change URL of RESTful Service to export Series specified in CSV enhancement
#3334 - RESTful Service to reject Series specified in CSV #3335
- UI Monitoring - Export : Enable uploading CSV file containing Series Instance UIDs for export #3337
- UI Navigation - MWL : Rename 'Description' in MWL table header to 'SPS Description' #3338
- UI Configuration - Permissions : Add permission to show attributes of an entity #3339
- UI : Rename Range Picker to Date Time Picker for single date time filter selectors #3342
- UI Navigation - Studies : Add filters batchID and queue to reject (matching) entities #3343
- Add scheduledTime query filter for Reject (matching) entities RESTful services #3344
- Change Attribute Update Policy for Study and Series attributes from MERGE to SUPPLEMENT in default configuration #3346
- Replace 10 Export Queues Export1..10 by one Export Queue in default configuration #3347
- Replace 13 Retrieve Queues Retrieve1..13 by one Retrieve Queue in default configuration #3348
- UI: Configuration: populate drop-down for export and retrieve queue names dynamically #3349
- Accept SOP Classes RT Radiation Set Delivery Instruction Storage and RT Treatment Preparation Storage by default configuration #3350
- UI Navigation - Studies : Add Batch ID for Scheduled Storage Commitment / IAN for matching studies functions #3353
- Add scheduledTime query filter to Scheduled Storage Commitment / IAN for matching entities to external SCPs services #3354
- MONITOR-RS: Filter Tasks in Queue by LocalAET and RemoteAET #3357
- Add scheduledTime query filter to Storage Verification of matching entities services #3358
Bug Fixes
- Archive attribute coercion : Nullify Issuer of Patient fails to update modified dataset if attributes contains Issuer of Patient ID Qualifiers Sequence #3306
- Incoming C-FIND RQ Attribute Coercion not effective for Patient ID and Issuer of Patient ID #3308
- UI Monitoring - Diff : Delete single task fails with 405-Method Not Allowed #3311
- UI Monitoring - DIFFs : Rescheduling single task incorrectly sends query parameters in request body #3312
- LDAP data update 5.24.0 fails with attribute 'dcmTaskPollingInterval' not allowed #3313
- UI Configuration - Devices : Deleting a device fails with 409-Conflict - javax.naming.directory.InvalidSearchFilterException #3322
- Fallback WADO URI Web Application field in archive device and archive network AE level shows web applications of own device only #3323
- UI Configuration - add / update / delete HL7 Procedure Status Update Conditions is ineffective #3325
- Supplement Issuer of Patient ID service : Update of issuer information in patient attributes remains ineffective #3330
- Storage Commitment SCP does not consider configured Masquerade Calling AE Title #3331
- Procedure update service nullifies MWL attributes on receive of Procedure Update (RAD-13) HL7 order messages #3340
- Procedure update service fails with ConstraintViolationException on receive of HL7 order messages containing multiple Scheduled Procedure Steps #3341
- UI: Queue-> Devices Dropdown is empty #3351
- Schedule Storage Commitment / IAN for matching entities to external SCPs services : Batch ID query filter sent in request is ineffective 3355
- Export of Prior Studies may fail caused by concurrent calculation of Query Attributes for a particular Study or Series #3356
Dependencies
- Upgrade Keycloak in docker image to 15.0.2 #3318
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 15.0.2 #3326
- Update Maven plugins #3352
- Upgrade Apache jclouds to 2.4.0 #3361
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.24.1
5.24.0
Attention:
Processing of Export and Retrieve Tasks in particular Export/Retrieve Queues have to be explicitly enabled by setting Queue attribute
Name | Type | Description (LDAP Attribute) |
---|---|---|
installed | boolean | If false, processing of tasks in this queue is paused. (dicomInstalled) |
of corresponding Export/Retrieve Queue to true
. s.o. #3211
Enhancements
- UI Configuration: Drop-down for Archive Device Attribute Patient Verification PDQ Service ID #1639
- UI Navigation -> Studies : Enable to View DICOM object for KOs #2533
- UI Navigation -> UWL: Add new workitems #2768
- UI: Refactor to avoid use of legacy RESTful services #2884
- Provide exporter to send HL7 notifications on receive of DICOM objects #3182
- Provide exporter to Create Workitem on remote UPS-RS server on receive of DICOM objects #3191
- Export / Retrieve Monitoring : Enable marking single or bulk tasks for export / retrieve #3201
- UI Monitoring Export / Retrieve : Enable to mark single / bulk / selected task(s) for export / retrieve #3202
- Mark bulk tasks for export service : Distribute tasks to be marked for export on several new devices #3203
- UI Monitoring -> Export : Enable selecting several new devices to distribute marking tasks for export #3204
- Optionally apply filter to returned MWL items from external MWL SCP to coerce request attributes of received object locally #3205
- Wado Exporter: Support to include HTTP Header: Accept-Encoding in invoked HTTP Request #3208
- QIDO RS: Return HTTP Header fields Last-Modified and ETag for Search for a Study's Series or Instances #3210
- Replace JMS by Task Scheduler #3211
- Extend WADO Exporter to allow pre-fetch of QIDO-RS responses #3215
- Enable condition based MPPS forwarding #3219
- HL7 Export Rule : Make qualified patient identifier selected from PID-3 configurable #3220
- RESTful service to Search for / Count merged Patients #3221
- RESTful service to "unmerge" merged Patients #3222
- UI Navigation - Patients : Enable querying merged patients #3226
- UI Navigation Patient: Widget to "unmerge" merged Patients #3227
- UI Configuration: Cloning a device shall also take care of cloning associated vendor data #3228
- ldap docker image: provide script to add Storage SCP Transfer Capabilites to an existing Network AE #3235
- HL7v2 Patient Demographics Query (PDQ) Service Provider #3254
- Log failures on DB update of calculated size and query attributes for a Study and continue calculation for other Studies #3255
- Send HL7 Notifications about changes of the Status of requested Procedures in the order as the Status was changed #3256
- Send IANs triggered by MPPS or Study Received in the order of the receive #3257
- Refactor DB Model for Task Management #3261
- WADO-RS Metadata Retrieve: optionally exclude private data elements from returned metadata #3266
- WADO/QIDO Service: increase DEBUG logging #3267
- Adjust Task Scheduling and Monitoring RESTful services concerning replacement of JMS by Task Scheduler and refactoring of the DB model #3268
- Import MWL from external worklist : Handle missing Scheduled Procedure Step Status in C-FIND response leniently #3271
- Add Study Status ID (0032000A) in MWL attribute filter in default configuration #3272
- UI Navigation - MWL : Add Study Status ID filter used in querying AGFA worklists #3273
- Provide sample stylesheet and configuration to map Study Status ID to ScheduledProcedureStepSequence.ScheduledProcedureStepStatus #3274
- Enable exporting series specified in CSV #3279
- UI Navigation - Study : Enable uploading DICOM files only for web applications consisting STOW_RS web service class #3281
- Prefetch on HL7: ignore duplicate HL7 messages received in an interval lesser than Suppress Duplicate Retrieve Interval #3282
- Export on HL7: ignore duplicate HL7 messages received in an interval lesser than Suppress Duplicate #3283
- Update DB SQL scripts for 5.24.0 for databases other than postgres #3287
- Accept SOP Class Microscopy Bulk Simple Annotations Storage by default configuration #3288
- Enable to access MWL items by MWL-RS not returned by corresponding MWL SCP by configured Hide SPS with Status(s) #3297
- Extend UI language list configuration to support Thai #3299
Bug Fixes
- UI: Fix the mark for export icon style and the buttons styles in the export, retrieve and queue page #3209
- Configuring Record Attribute Modification on Archive Network AE level fails to update device configuration #3212
- Prefetch Study Metadata using WADO Exporter in sample configuration creates duplicate metadata json files #3218
- Studies of patient is not decremented on deleting a study permanently #3231
- Status of MWL items of configured Other AE Title not changed on MWL Idle Timeout triggered Scheduled Procedure Step status update #3232
- Change status of matching scheduled procedure steps does not update status of MWL items configured for Other AE title #3233
- Duplicated Other AE titles shown in configuration where dcmArchiveAETitle format is used #3234
- DICOM UL Services User Identity Negotiation fails with org.keycloak.jose.jws.JWSInputException: java.lang.NullPointerException #3236
- DICOM UL Services User Identity Negotiation fails if no User Identity Negotiation Role is configured #3237
- Build fails with maven 5.8.1 caused by maven-default-http-blocker #3238
- Import report from HL7 ORU fails for HL7 applications associated with Other AE #3240
- DICOM UL Services User Identity Negotiation use stale token fetched on previous request with different user/password #3241
- Remove duplicate UI permission 'Action - Studies - More Function' from default-ui-config.ldif #3244
- UI Navigation - UWL : Create / Clone / Update UPS workitem or template fails with 406 - Not Acceptable #3246
- Bulk data files not cleaned up on filesystem write failure #3251
- Storing study to archive fails on application of merge from MWL coercion if multiple MWL items exist for the used matching key #3265
- Import MWL from external worklist : Scheduled Procedure Step Status not sent in C-FIND return keys #3270
- JAX-RS request method annotation missing for Reject matching instances of series service #3278
- UI Navigation Studies - Retrieve single study / series / instance from external archive : Misleading field 'Scheduled Procedure Step Start Date Time' in retrieve study widget #3280
- UI Monitoring - Queues : Misleading message displayed in canceling matching tasks #3284
- OutOfMemoryError: Metaspace, WELD-001524: Unable to load proxy class for bean Managed Bean #3285
- HL7 ORU to Encapsulated PDF : Content Date / Time values translated from OBR-7 is ineffective #3286
- Cancelling of Export tasks is treated as failure bug
#3289 - Import Instances on Storage: Storage Transfer Syntax UID in DB does not reflect Transfer Syntax of imported DICOM File #3290
- Add missing mwl_item.local_aet in patch-create-firebird.awk script #3291
- Prefetch Prior Studies on Store fails with javax.persistence.NonUniqueResultException #3294
- UI Monitoring Queues : Rescheduling single task on new device name is ineffective #3295
- Coercion of Study Instance UID by matching MWL item on receive fails with Key study_iuid already exists #3298
- Patients do not get deleted from DB on permanent deletion of (last) rejected Study #3303
Dependencies
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 14.0.0 #2925
- Upgrade Keycloak in docker image to 14.0.0 #2926
- Upgrade included JDBC Drivers #3250
- Upgrade Wildfly in archive docker image to 24.0.1.Final #3292
Documentation
- Ensure HL7 Conformance Statement is up-to-date with HL7 based features/services #3106
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.24.0