Releases: dcm4che/dcm4chee-arc-light
Releases · dcm4che/dcm4chee-arc-light
5.33.0
Enhancements
- Unify RESTful API for services involving operations on matching entities #2077
- Audit services code cleanup #3262
- archive docker image: Rotate Wildfly Logs (audit.log, audit-log.log and server.log) files periodically #4183
- QIDO RS : Reject broad queries if query count exceeds configured Query Max Number of Results #4487
- Replace 400 - Bad Request with 413 - Request entity too large error response code for matching RS services #4488
- Merge MWL coercion - PatientID, PatientIDOnly and PatientIDAccessionNumber matching keys : Consider issuer values if present in DICOM dataset in patient identifier matching #4489
- Nullify Pixel Data or Retrieve as Received coercions : Add log info message if these coercions are applied on retrieving DICOM study #4494
- Store Service - Study Retention Policy : Add log info message if matching policy is applied on study / series #4496
- Pass Storage Commitment/Verification for objects only external retrievable #4500
- UI: Person Name widget: Add the possibility to search by ideograpich or phonetic #4502
- Retry failed attempts to permanently delete a study caused by javax.persistence.OptimisticLockException #4505
- UI: Navigation: Improve the way how to show the patient identifier #4506
- UI: Navigation filter: move patient id filter in to issuer of patient widget #4507
- Enable to connect to read only databases for archive instances only providing query/retrieve services #4510
- Fallback to device level for auditHL7MsgLimit usage if no hl7 application found for MSH.5 / MSH.6 on spooling incoming / outgoing HL7 messages #4514
- Provide Query Retrieve View 'iocmDisabled' for not hiding any of the rejected instances and associate it with Archive AE 'AS_RECEIVED' by the default configuration #4515
- Restrict DB query for locations on Verification of Access State by Storage ID to make use of existing index (storage_id, status) #4516
- Identify Patients only by Patient IDs with trusted Issuer of Patient IDs on MPPS N-CREATE requests to archive #4517
- Optionally ignore received objects belonging to a different Series than previous received objects with equal SOP Instance UID #4518
- Provide coercion to merge MPPS attributes from matching MWL items #4520
- Archive Docker image: Make Pattern for formatter PATTERN for system log messages to /opt/wildfly/standalone/log/server.log* configurable by Environment Variable WILDFLY_SERVER_LOG_PATTERN #4521
- UI: uprgrade keycloak.js to the latest one as the current used version doesn't work with KeyCloak verison 25.0 #4525
- Support multiple IPC segments under one ORC-TQ1-OBR group to create multiple MWLs from single HL7 order message #4526
- Support Patient Create DateTime query filter in QIDO-RS Search / Count patients REST services and in UI - Navigation - Patients tab #4528
- Access Control on Series Level #4532
- Avoid redundant emission of deletion tasks audit triggered by purge task scheduler #4537
- UI: Navigation: Enable "bulk uplad" of directories #4541
- UI: Navigation: Create Patient widget, add a simplified form #4542
- RESTful service to update Instance Attributes #4545
- Extend set of DICOM response status error codes for Audit Messages #4546
- Retry failed attempt to update patient caused by javax.persistence.OptimisticLockException #4551
- UI: Navigation: Change the Patient identifier Widget to look like the Patient Name widget #4554
- Extend Study participant object details in audits to include StudyDescription, SeriesDescription and Modality #4555
- Restful services to update Access Control ID of one specified or multiple matching Series #4559
- UI Series List: update Access Control ID of Series #4560
- UI : Provide function to Update Access Control ID of matching Series #4561
- Normalize validation checks for Update Study/Series/Instance REST APIs #4563
- Accept Waveform Annotation SR by default configuration #4565
- Archive Docker Image: Pre-confgure logger category "org.wildfly.security.http.oidc" for logging Wildfly OIDC Client #4569
- Purge legacy external archive patient management REST services #4570
Bug Fixes
- UI Navigation Tabs : Date range picker - Single Date always sets to current date independent of selected value in calendar #4347
- UI Configuration : Unable to create RESTful Forward Rule config #4485
- Unknown PatientID - - missing in Studies stored triggered DICOM Instances Transferred error audit - for instances stored to archive without any PatientID #4486
- UI Navigation Patients : Removing Other Patient IDs Sequence (0010,1002) from Edit Patient popup still sends it in the request payload #4491
- Studies stays in status deletion in progress on failures to delete them permanently #4504
- Handle closure of instances of org.jboss.resteasy.client.jaxrs.ResteasyClient #4511
- UI: The MWL Table is not rendered #4519
- UI: Merge dialog-> Instead of the Patient ID there is the stringified Object visible #4522
- MWL Scheduler triggered delete MWL throws OptimisticLockException #4523
- UI: Merge process is failing with no information when instead of a patient a study is selected for patient merge #4524
- Share transfer capabilities from an AE handling is missing in forwarded MPPS requests #4529
- UI: When multiple patient IDs exist and the patient identification texts are very short, the spacing between ID groups is too small. #4530
- Concurrent invocation of Move Study to Patient RS service fails with OptimisticLockException #4531
- WADO Exporter on secured archive fail with HTTP 401 Unauthorized caused by expired token #4535
- HL7 Order to MWL - ORM^O01 : Modality and Scheduled Procedure Step ID values not transformed correctly by XSL #4538
- Instance level query fails with IllegalArgumentException #4539
- Failure to verify patient using PDQ Service fails to update patient status to VERIFICATION_FAILED #4544
- Rectify incorrectly formatted examples of issuer of patient identifier / properties format indicated in configuration descriptions #4547
- Delete patient triggered by REST API emits audit twice #4549
- Change patient identifier triggered by REST API does not emit audit for previous patient identifier deletion #4550
- Incorrectly formatted Request URI with duplicated query filters in task processing triggered audits #4552
- HL7 PSU notifications fail on MPPS trigger N_SET requests received before HL7 PSU Task for N_CREATE requests are processed #4553
- UI Navigation - Upload files : The widget does not allow selecting files, instead provides option to select a directory #4556
- UI Navigation : Edit / Add attributes not available on uploading files #4557
- UI Navigation - Studies : Update Access Control ID to selections does not work #4564
- UI:Navigation-> Patient identifier widget: If you add patient id without editing the strings in the widget, it is not sending the string as a filter #4571
Dependencies
- Upgrade Wildfly to 33.0.2.Final #4495
- Keycloak docker image: Upgrade to Keycloak.X 25.0.5 #4497
- Upgrade Keycloak Admin Client in archive docker image to 25.0.5 #4498
- Upgrade Postgres DB docker image to 16.4 #4533
- Upgrade logstash in docker image to 8.15.1 #4562
- ldap docker image: upgrade alpine to 3.20.3 and slapd to 2.6.7 #4567
- Upgrade OAuth2 Proxy docker image to v7.6.0 #4568
Task
- Update DB SQL scripts for 5.33.0 for databases other than postgres #4534
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.33.0
5.32.0
Enhancements
- UI: STOW-RS Enable to upload JPEG's, Videos, PDF on other levels than Study and MWL #2171
- Enable to configure different proxy port for Wildfly Aministration Console for navigation from Archive Web UI #4185
- UI: Navigation Study: Replace checkbox by dropdown to filter for Studies containing Series of any or all of specified Modalities #4256
- UI Navigation: support upload of JPEG 2000 Part 15 (HTJ2K) and JPEG 2000 Part 1 images #4307
- Storage Verification of matching entities REST services : Remove duplicate logging of request #4327
- UI Navigation Studies / Series : Show error message sent inside error key of response payload #4328
- UI Navigation Studies / Series : Unify export matching dialogs #4330
- Support PID.15 - Patient's Primary Language in incoming / outgoing HL7 messages #4331
- Assign Service Account Role ${SUPER_USER_ROLE} to Client ${RS_CLIENT_ID} by initial Keycloak configuration #4333
- Schedule IAN of matching studies / series to external IAN SCP RS services : Persist study / series instance UIDs in IAN task #4334
- Support Attribute Coercion to merge date-time attributes with date-time values a specified period of time before the present #4339
- Change default for Filter by Issuer of Patient ID even if no matching key is specified for Patient ID from false to true #4341
- Replace Archive Device configuration attribute "Trusted Issuer of Patient ID Pattern" by "Trusted Patient ID Pattern(s)" #4344
- UI Navigation Studies / Series - Mark (all series of) study / series as Requested or Unscheduled : Return UIDs of updated entities in displayed message #4348
- Update Request Attributes of (all Series of Study / Series) RS : Schedule metadata update for series / study #4349
- UI Navigation Studies - Recreate DB record : Extend widget to include readPixelData query filter #4351
- UI Navigation Workitems : Enable to download UPS Workitems as CSV #4354
- UPS RS services : Validate query filter upsScheduledTime to be a valid value of ParseDateTime class #4359
- UPS services : Search for subscribers and create UP Events only for non-template UPS records #4362
- UI Navigation -> UWL : Enable to request cancel of individual UPS Workitems optionally with Request UPS Cancel - Action Information #4363
- UI Navigation Patients : Enable to update demographics of a patient using a PDQ Service #4366
- Update patient demographics by HL7 PDQ Service : Adjust other patient IDs in patient attributes based on HL7 Other Patient IDs configuration #4367
- Update patient demographics - adjust issuer of patient : Improve ambiguous log info message indicating also change of patient identifiers #4369
- Web Service Class PROMETHEUS #4372
- Improve log message on failure to store objects to destination not supporting certain SOP Classes #4373
- UI Navigation - UPS : Make field Procedure Step State = SCHEDULED as read only on Create new UPS Workitem #4377
- Patient Demographics Query (PDQ) Service audit : Include exceptions caught on querying PDQ services to be audited with Outcome Indicator as Minor Failures (= 4) #4384
- UI Monitoring - Storage Verification / Compare : Enable Cancel task only for SCHEDULED / SCHEDULED_FOR_RETRY / IN_PROCESS tasks #4385
- UI Monitoring - Queues / Export / Retrieve : Enable Cancel task also for SCHEDULED_FOR_RETRY tasks #4386
- Queued Export of single study / series : Persist corresponding series_iuid / sop_iuid in task table as * instead of null #4388
- Archive Docker Image: Adjust configured Hibernate log category for writing values bound to the JDBC parameters to org.hibernate.orm.jdbc.bind #4391
- WADO-RS retrieve Bulkdata: include parameter "transfer-syntax" also for Default Transfer Syntax of Compressed Bulkdata Media Types in "Content-Type" header field in response #4399
- Replace null by "*" for field externalRetrieveAET of entity Instance and Series and change corresponding Nullable column ext_retrieve_aet to NOT NULL #4402
- Minimize affected rows by SQL update statements for updating single columns with an enumerated set of values #4404
- UI: Make possible to use keycloak attribute to save the preferred language for the user #4416
- Enable realm-management - manage-users role by default to admin / user users #4417
- UI Monitoring - Upload CSV : Add validation to ensure minimum value of Study / Series UID Fields is 1 #4419
- Update DB SQL scripts for 5.32.0 for databases other than postgres #4422
- LDAP docker image: Set connectTimeout and readTimeout for outgoing HTTP requests for HTTP connections initated by scripts add-http(s)-conn #4427
- Search {entity} RS services : Return Vary response header if 406 - Not Acceptable is thrown #4428
- UPS RS (POST / PUT) services : Replace 406 - Not Acceptable with 415 - Unsupported Media Type if clients send invalid Content-type request header #4429
- Provide Keycloak Docker images based on azul/zulu-openjdk and azul/prime alternatively to images based on eclipse-temurin #4431
- Remove admin / user as default Accepted User Role(s) from archive's default Application Entities #4433
- UI Monitoring - Storage Verification : Improve tab #4434
- Support Military Rank / Confidentiality Code in HL7 order messages #4437
- Extend default Study attribute filter config to include Reason For Performed Procedure Code Sequence (0040,1012) #4438
- Log outgoing HL7 Messages on filesystem #4440
- Studies with orphaned instances (= no location records) can't be deleted from archive #4441
- Extend HL7 Procedure Status Update notifications to notify using OMI HL7 messages #4445
- Simplify Study Retention Policy sample configurations #4448
- Improve and normalize Rule Priority descriptions in applicable language schema json file #4450
- Archive Docker Image: Make mutual TLS authentication for HTTPS configurable by environment variable NEED_CLIENT_AUTH #4457
- Store Service : Improve error message returned for A777H error code #4459
- Optimize permanent deletion of Studies with objects not shared copied/moved from/to other Studies #4460
- MWL-RS Create / Update MWL : Use MWL Worklist Label config on archive AE as fall back, if Worklist Label (0074,1202) is missing or has no value in request payload - before falling back to * #4461
- Reject concurrent requests to permanently delete a study #4462
- Prevent storage of objects of Study which deletion is in progress #4463
- Consider configured Access Control ID(s) for particular Archive Network AE by RESTful Service to search for patients #4466
- Share Transfer Capabilities from other Network AE of the same Archive Device #4470
- Enable to configure URL of Wildfly Aministration Console for navigation from Archive Web UI #4473
- keycloak docker image: Add Environment Variable WILDFLY_CONSOLE_REDIRECT_URL to configure Valid Redirect URI pattern for Keycloak client for securing the Wildfly Management Console #4474
- Send Imaging Result [RAD-128] / Notify of Imaging Results [RAD-132] : Enable support for OBR.33 and OBR.34 #4476
- keycloak docker image: adjust files in /opt/keycloak/lib/quarkus/ from /docker-entrypoint.d/quarkus/ on first start of container with different keycloak version #4477
- Improve Purge(d) Instance Records description #4479
- logstash-dcm4chee docker : Provide JSON properties for participant object details of QIDO / CFind queries' audits #4481
- Rename ParticipantObjectIDTypeCode for Query audits triggered by REST #4482
Bug Fixes
- UI monitoring page : Only Associations / Compare / Storage Systems tabs load up, other tabs fail to load #4205
- QIDO-RS Study Query : Updated series level Modality values not reflected in study level ModalitiesInStudy tag #4320
- Schedule Storage Commitment of matching Studies from external Storage Commitment SCP REST service : Misleading Log INFO message about Suppress processing of already deleted Task after task creation and before its subsequent processing #4326
- UI Navigation Series tab : Incorrect filters Patient Verification Status / All of Modalities in Study displayed in popups of Export / Reject matching series #4329
- UI Navigation Series - Apply Retention Policy to matching series : Rectify message displayed to user #4336
- Archive version 5.30.0 : Rectify error on importing update-ui-config.ldif #4337
- Other Patient IDs of existing Patient does not get supplemented with additional Patient IDs in received DICOM object or HL7 message #4342
- Update Request attributes of Study / Series RS : Mark study / Series as Unscheduled adds empty Request Attributes Sequence (0040,0275) to the attributes dataset #4350
- Re-import Study RS : Duplicate location record created with status ORPHANED on re-importing a study #4353
- Attempt to export study which objects are no longer locally accessible fails with uninformative java.lang.IndexOutOfBoundsException #4357
- UI Navigation Patients : Edit Patient incorrectly allows redundant editing of Dcm4chee archive specific proprietary attributes Patient Create Date Time & Patient Update Date Time #4358
- Update UPS - UPS Assigned event does not contain ScheduledStationNameCodeSequence on updating both ScheduledHumanPerformersSequence and ScheduledStationNameCodeSequence #4364
- Update UPS : UPS Assigned events conditionally contain ScheduledStationNameCodeSequence / ScheduledHumanPerformersSequence only if these are explicitly updated by the client #4365
- Patient verification scheduler triggered update patient demographics fails to update status to NOT FOUND for patient records not found at Patient Demographics Supplier #4368
- Patient verification scheduler triggered update patient demographics - adjust issuer of patient : Invokes changePatientID service for identical patient identifiers #4370
- Update patient demographics - adjust issuer of patient : Patient ...
5.31.2
Enhancements
- UI: Import a single JPEG 2000 (JP2) image on the local filesystem to a study in the archive using STOW-RS #2091
- UI Navigation - MWL : Upload Bulkdata Files on MWL #4173
- Emit Audit Message "Data Export" on Verification of the Access State of objects stored on QStar Tape File System for each Series #4271
- Accept Objects with sequences which actual length exceeds its encoded length #4275
- Refactor claiming of storage verification, delayed compression, update of series metadata and purging of instance records #4277
- Accept HTJ2K compressed images by default configuration #4280
- Accept Confocal Microscopy (Tiled Pyramidal) Image by default configuration #4281
- Avoid rDNS lookup for local host by using configured Hostname attribute of DICOM and HL7 Network Connections instead #4291
- Accept HTJ2K compressed images in STOW-RS metadata + bulkdata requests #4296
- Do not validate storage of emulated Rejection Notes against configured Store Permission Service #4299
- Provide Archive Docker images based on amazoncorretto alternatively to images based on eclipse-temurin #4305
- Provide Keycloak Docker image based on amazoncorretto alternatively to image based on eclipse-temurin #4308
- Archive Docker image: replace 'gosu wildfly' by 'chroot --userspec=wildfly:wildfly /' #4311
- Keycloak Docker image: replace 'gosu keycloak' by 'chroot --userspec=keycloak:keycloak /' #4312
- UI Configuration : Limit Application Entity title value to 16 characters #4313
- UI Navigation - Patients : Show complete target patient identifier in merge patient popup #4314
- Keycloak Docker Image: Enable support of 'Client Credentials Grant' for Keycloak clients 'elastic' and 'kibana' by default configuration #4317
- Separate user role required for authentification by OIDC from user roles associated with permissions #4318
Bug Fixes
- UI Navigation : Upload DICOM / Bulkdata files dialog window broken #4174
- Accept Conflicting Patient ID =YES may cause duplicate Patient IDs record associated to different Patients in the DB #4272
- Copy study from one patient to the other fails #4273
- Delete Study Permanently fails for a study copied over into a target patient #4274
- UI Navigation Upload Image Bulkdata : Incorrect Conversion Type (0008,0064) value, JP2 files attribute values handling missing #4276
- Ensure that the Temporal annotation is specified for all persistent fields of type java.util.Date of all entity classes #4278
- Secured archive RS requests audits no longer contain user name in Active Participant's UserID #4288
- Typo in Outcome message of Exporter to add Predecessor Document Sequence to Encapsulated PDF Documents received from Visus JiveX #4289
- Matching of Scheduled Station for HL7 Order Rules by SendingHostname never worked #4290
- UI: Angular Material picker is not compatible with the design of the UI after Angular update, replace it with a custom date picker #4292
- UI: Configuration: Cannot configure UPS Attribute Filter #4293
- "retrieve-as-received" Attribute Coercion not effective for WADO-RS Metadata retrieval as configured for Archive AE: AS_RECEIVED by default #4294
- Rectify Audit Event ID for QStar audits from DICOM Instances Transferred to Export #4295
- Incorrect active participants in HL7 ORU triggered DICOM Instances Transferred audit #4297
- UI Navigation Patients - Supplement Issuer : Empty Info message when no matching patient identifiers found for supplementing issuer #4298
- UI Navigation Series tab : Incorrect filters Patient Verification Status / All of Modalities in Study displayed in popups of Send IAN / Storage Commitment request of matching series to peers #4300
- UI Navigation Series tab : More Functions incorrectly contains Reject matching studies #4301
- Move Instances to Study (moving on patient level) : Other Patient IDs from source patient attributes carried over into target patient attributes causing creation of multiple corrupted target patient records #4302
- UI Navigation : Restore Study function in IOCM views incorrectly rejects study with code 113039^DCM #4309
Dependencies
- ldap docker image: upgrade alpine to 3.18.4 #4282
- Upgrade Wildfly to 30.0.1.Final #4284
- Keycloak docker image: Upgrade to Keycloak.X 23.0.3 #4285
- Upgrade Keycloak Admin Client in archive docker image to 23.0.3 #4286
- Upgrade commons-compress-1.23.0.jar to commons-compress-1.25.0.jar #4310
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.31.2
5.31.1
Enhancements
- Unify RESTful API for Patient Management services for own and external archives #2074
- Replace Wildfly Keycloak Adapter by Wildfly Electron OIDC Client #3678
- UI Monitoring/Storage Systems: Change Status of Locations on particular Storage System #4145
- index DB column task.exporter_id #4203
- Extend RESTful services to list batches which are scheduled for retry after failure #4208 L
- UI Navigation Series : Enable to set / change expired date to a series #4215
- Archive Docker Image: Make use of cached connection manager configurable by Environment Variable WILDFLY_PACSDS_USE_CCM #4216
- Convert subquery for matching Patient ID into join to avoid performance issue on PostgreSQL #4219
- Patient attributes created / updated on HL7 messages : Support Patient's Telephone Numbers (0010,2154) and Patient's Telecom Information (0010,2155) #4220
- Remove unnecessary distinct from named JPA Queries with left join fetch of patient_id #4221
- Log also successful Verification of Access State of objects stored on QStar Tape File System in server.log #4222
- no need to patch SQL create script generated by Hibernate for MySQL 8.1.x #4223
- Provide dedicated binary distribution package for MariaDB #4224
- HL7 orders to MWL transformation : Enable supporting Admitting Date (0038,0020) / Admitting Time (0038,0021) from PV1.44 #4234
- Update customized Keycloak login theme to align with Keycloak 22.0.3 #4237
- Exporter to add Predecessor Document Sequence to Encapsulated PDF Documents received from Visus JiveX #4238
- RESTful service to verify DNS lookup #4242
- Emit Audit Message on Verification of the Access State of objects stored on QStar Tape File System #4244
- Storage Verification: if there are several objects of an instance, prefer validation on ONLINE storage over validation on NEARLINE storage #4247
- Reject query/retrieve requests with wildcard values for unique keys for levels above the query/retrieve level #4252
- Support condition if DA value is current date #4257
- UI: Monitoring / Storage Commitments: sort list by descending Updated time (stgcmt_result.updated_time) #4262
- Archive Docker Image: pre-configure logger category org.dcm4chee.arc.storage with INFO level #4264
- Minimize number of SQL statements executed on processing N-EVENT-REPORT-RQ received from Storage Commitment SCP #4268
- Improve description of Storage attribute Check Mount File Path #4269
Bug Fixes
- Export RS - connection to remote AE failures : Missing exception info in BeginTransferringDICOMInstances audits #4192
- Reject RS services : Rectify error response triggered on unknown rejection note #4196
- Link instances to MWL / Copy or Move instances RS services : Handling of unknown rejection note code error response is missing #4197
- Retrieve of objects with Deflated Explicit VR Little Endian Tranfersyntax fails with: "java.lang.IllegalStateException: Entered by wrong thread" #4202
- Update Study / Series Expiration Date RS services : Non-existent study / series exception not handled correctly #4210
- UI Navigation Studies / Series : Update matching studies / series functions does not send the navigation query filters in request #4211
- Patient IDs generated and supplemented by the Archive on receive of objects without Patient IDs are NOT inserted in DB table patient_id #4212
- Sqlserver : Incorrect case insensitive index on study.study_desc #4213
- create-firebird.sql broken, missing patient_fk in table patient_id #4214
- DB2 backend : Storing DICOM objects to archive fails #4217
- Failed concurrent deletion of data from storage caches by different archive nodes results in stale study.storage_ids #4226
- WADO URI audit : Enable spooling / emission of audit only if retrieve was successful and contains SOP Instance in retrieve context #4227
- HL7 Outgoing Notifications : CNN - Composite ID Number and Name Simplified is not handled correctly #4231
- Receive of HL7 ORU^R01 message with multiple Patient IDs may cause insert of Patient ID DB records with not trusted Issuer #4232
- Receive of HL7 message with multiple Patient IDs for existing Patient may cause insert of Patient ID DB records with not trusted Issuer #4233
- PAM-RS may fail to Update Patient with Internal Server Error caused by: org.dcm4che3.data.IncompatibleSpecificCharacterSetException #4239
- Rectify success response definition for Create Patient RS service in swagger #4240
- Rectify multiple issues in Change Status of Scheduled Procedure Step RS Service #4241
- Verification of Access State of objects stored on QStar Tape File System fails #4245
- Storage Commitment of Objects packed in TARs fails with Storage Verification Policy: OBJECT_EXISTS or OBJECT_SIZE #4246
- External Retrieve AET of Study/Series should be nullified on receive of another object of that Study/Series #4248
- Size of Study/Series is not marked for recalculation on receive of another object of that Study/Series #4249
- UI: Ui Config: Adding a new language not working #4253
- SCHEDULED FOR RETRY status missing in Monitoring page - Queues tab - Status dropdown #4254
- Spoolfiles blk########.tmp created on retrieve of objects containing non-pixel bulkdata are not getting deleted #4259
- Retry of Storage Commitment Tasks fails with ERROR: duplicate key value violates unique constraint #4260
- Storage Commitment SCU service does not send N-EVENT-REPORT RSP on failure to process N-EVENT-REPORT RQ #4263
- PAM-RS UpdatePatient creates duplicate patient record if PatientID is updated and target patient exists #4265
- UI: Monitoring->Queues: Triggering 'Delete all matching studies' shows undefined when nothing was deleted #4266
- Accept Conflicting Patient ID =YES may cause duplicate Patient IDs record associated to different Patients in the DB #4272
Dependencies
- Replace Keycloak Admin Client by Keycloak Admin Client for Jakarta EE #3873
- Upgrade Wildfly to 29.0.1.Final / Jakarta EE 10 #3874
- Keycloak docker image: Upgrade to Keycloak.X 22.0.1 #4193
- Upgrade Keycloak Admin Client in archive docker image to 22.0.4 #4194
- Upgrade included JDBC Drivers #4200
- Upgrade maven-install-plugin to 3.1.1 #4228
- Keycloak docker image: Upgrade to Keycloak.X 22.0.4 #4236
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.31.1
5.31.0
Enhancements
- UI Configuration : Enable supporting integer arrays for configuration fields #4039
- UI Configuration : Allow descriptions for enums #4040
- Support multiple Patient IDs for one Patient #4053
- UI:Navigation: Support passin query parameter to the URL #4066
- UI Navigation: Show all Patient IDs for listed Patients #4067
- Update DB SQL scripts for 5.31.0 for databases other than postgres #4068
- Study Size audit : Extend emitted audit to contain study / patient information #4085
- HL7 messages transformation : Support Identifier Type Code in PID.3.5 mapping it to Type of Patient ID (0010,0022) #4087
- UI Navigation tabs : Support Type of Patient ID (0010, 0022) in patient identifier displayed in table list #4088
- Log exporter descriptor info on failures triggered by create / update of export tasks #4090
- UI Navigation tabs : Add description tooltips for Patient Verification Status dropdown values #4091
- UI Navigation tabs : Add description tooltips for Expiration State dropdown values #4095
- Support connectTimeout and readTimeout in outgoing HTTP requests triggered by archive #4097
- RESTful Forward Rule : Replace TLSAllowAnyHostName and TLSDisableTrustManager fields with those from target web application #4098
- Set dcmKeycloakServer in dcm4chee-archive schema to OBSOLETE #4101
- Update Response Timeout description in Network Connection Extension to reflect about its usage also in HL7 / HTTP Protocols #4102
- Optionally disable copying of objects on retrieve to a configured retrieve cache storage for specified retrieve destinations or for objects which corresponding Instance Records were already purged from the DB #4103
- UI Navigation : Adjust patient identifier in the displayed lists of patient records shown on archive UI #4105
- UI Navigation Studies / Series : Change Body Part Examined query filter from free value text to editable-multi-select dropdown allowing user defined and defined body part codes acc. to DICOM PS3.16 #4106
- UI Navigation Studies / Series : Change Storage Clustered / Storage Exported query filters from checkbox to selectable dropdown #4107
- UI Navigation Studies / Series / Compare : Change Sending / Receiving AET of Series query filters from free value text to editable-multi-select dropdown allowing user defined and selecting configured AETs #4110
- Extract xroad module from ear into standalone wildfly module #4111
- Use configured / invoked Other HL7 Application Name & Facility values of sending HL7 application in MSH.3 / MSH.4 fields of outgoing HL7 messages #4113
- RESTful service to restore purged Instance records of a particular Study or Series #4116
- Update existing Workitem RS : Add Issuer of Patient ID (0010,0021) & Issuer of Patient ID Qualifiers Sequence (0010,0024) in IOD for N-SET #4118
- Accept Photoacoustic Image and General 32-bit ECG Waveform Storage SOP Class by default configuration #4120
- Enable scheduling metadata update for series (of study) when associated MWL is created / updated #4121
- UPS-RS: Log reason for error responses in server.log with INFO level #4122
- Restrict query for Studies to delete from the Storage System, if the usable space fall below configured Usable Space, to a configurable range of its last access time #4125
- Support other Location Status of new received objects and objects copied to another Storage than OK #4127
- Replace Storage properties by Storage Attributes #4128
- Verify Access State of objects stored on QStar Tape File System #4131
- LOG.info on successful update of access control ID to single / matching studies #4132
- Prevent/Defer creation/update of Series Metadata with Locations with Status != OK #4136
- UI: Navigation Study/Series/MWL: populate drop down for Institution Name filter from UI Configuration attribute #4139
- Extend RESTful services to list/count/cancel/delete tasks which are scheduled for retry after failure #4141
- RESTful service to Change Status of Locations on Storage System #4144
- Identify Patients only by Patient IDs with trusted Issuer of Patient IDs #4146
- Provide NOOP Exporter (URI: noop:{dummy}) to enable to trigger Storage Commitment to external Archive without previous export #4148
- Improve placeholder descriptions for Modality / All of Modalities in Study filters #4149
- UI Navigation filters : Enable placeholder descriptions for editable-multi-select query filters #4150
- Update MWL RS : Improve messages returned back on error responses, provide error responses for NonUniquePatientException, PatientMergedException, PatientMismatchException #4151
- Add LOG.info on successful patient update #4153
- UI Navigation Patients tab - Merged patients : Disable functional icons which can result in PatientMergedException errors #4154
- UI Navigation Patients : Enable Download as CSV icon for patients with Number of Patient Related Studies greater than 0 #4155
- UI:Config: Add the possibility to add Spanish language #4156
- Merge MWL Coercion: copy Institution Name (0008,0080) from matching MWL item to coerced object #4158
- Link Instances to MWL Entry RS : Use MWL Item's Institution Name in linked instances #4159
- PAM-RS: Identify created/updated/merged Patients only by Patient IDs with trusted Issuer of Patient IDs #4160
- Support multiple Patient IDs in path parameter of RESTful services #4161
- UI: Concatenate Other Patient IDs to primary Patient ID passed by Path Parameter invoking RESTful services #4162
- UI Monitoring tabs : Extend Status dropdown filter to include SCHEDULED FOR RETRY #4164
- HL7 ORU messages to DICOM Encapsulated PDF / CDA documents : Enable to use Imaging Result Payload segment's OBX.3 - Observation Identifier coded entry in code item of root level Concept Name Code Sequence (0040,A043) #4167
- STOW-RS: Support upload of bzip2 compressed genomic data VCF file as Bulkdata and store it as object of private SOP Class #4168
- WADO-RS: Support download of bzip2 compressed genomic data VCF file as Bulkdata stored in object of private SOP Class #4169
- WADO-URI: Support download of bzip2 compressed genomic data VCF file as Bulkdata stored in object of private SOP Class #4170
- Accept SOP Class Private Dcm4che Encapsulated Bzip2 VCF/Document Storage by default configuration #4171
- UI Studies page Upload bulkdata file service : Enable to upload bzip2 compressed (VCF) file to the archive #4172
- Merge Patient(s) RS services : Improve LOG.info message of prior patient identifier(s) merged with target patient identifier #4177
- Merge Patients RS service : Extend request payload containing array of prior patient identifiers to also include each of their other patient identifiers #4178
- Include private attributes with values of DB columns study.ext_retrieve_aet, series.ext_retrieve_aet and instance.ext_retrieve_aet in QIDO-RS response #4179
- Redirect WADO-RS requests to external Web Application, if some of the requested objects are no longer accessible #4180
- archive docker image: Rotate Wildfly Audit Log (audit-log.log) files periodically #4183
- Enable to configure different proxy port for Wildfly Aministration Console for navigation from Archive Web UI #4185
- Purge no longer used properties from reponse of RESTful service "GET /dcm4chee-arc/devicename" #4186
- Enable conditions on any/missing attribute value also for SQ attributes #4189
- Configure timeouts for DICOM and HL7 connections by default #4190
Bug Fixes
- UI Navigation - Studies : Functions specified in Actions for Selections do not work if all studies are selected using Select all studies post Toggle Checkboxes #3637
- UI Configuration : Selecting a non DICOM network connection on Register new application entity using 'select existing device' is unresponsive on failure #3716
- UI Navigation Studies / Series : Study Size range filter allows adding text instead of numbers #4096
- RESTful service to Import Instances returns error code 500 (Internal Server) instead 400 (Bad Request) on wrong path in payload #4099
- Loading Configuration page for archive UI in German fails #4100
- UI Navigation Studies / Series : Modified widget issues #4108
- UI Navigation Studies / Series : SOP Classes in Study shows all SOP Classes instead of just Storage SOP Classes #4109
- Series QIDO-RS services : Expiration State query filter is ineffective #4114
- UI: Navigation: In the range-picker the description text is shown instead of the placeholder text #4115
- UI Navigation : Empty More Functions dropdown shown in MPPS #4117
- Delete Patient RS service fails with EntityNotFoundException if config Delete Patient on Delete Last Study is set to true #4123
- UI Navigation : Remove incorrect filters Batch ID and Scheduled Time shown on Verify Storage of Study / Series / Instance dialog #4126
- UI Navigation : Schedule at single date time filter no longer available #4129
- update-5.26-.sql: several SQL statements are wrongly listed in part 2 instead of in part 1 #4130
- Delete Patient audit triggered by Delete Study RS service does not contain HTTP request info #4133
- Create patient LOG.info incorrectly displays hash code of created Patient ID in server log #4134
- UI Configuration : Optional MSH Fields enumeration no longer displayed for HL7 Application #4135
- Rectify LOG.info message displayed on deletion of MWL by REST service #4142
- Update Study / Series RS : Incorrect Responses sent on patient identifier missing in request payload, on patient mismatch; LOG.info messages missing on successful update #4147
- Inconsistent HTTP error response codes sent on PatientMergedException for RS services #4152
- UI Navigation Studies : Export matching studies in More Functions no longer works #4163
- DICOM objects stored to archive without a Patient ID (0010,0020) result in incorrect patient identifier values in attributes dataset #4166
- Change Pa...
5.30.0
Enhancements
- Read access to DICOM Objects packed in TARs #2736
- Support more than one nearline/permanent storage being checked before deleting studies from online/cache storage #2760
- UI: Make display of clock widget configurable #3176
- UI: Allow setting of ui2 web app page title #3316
- Storage Exporter: Optionally pack objects of the (Study, Series) entity in a TAR on copying to the other Storage system #3656
- UI : Enable reading out Warning headers of successful REST services #3668
- Download Studies as CSV : Return ModalitiesInStudy (0008,0061) in csv response sent back to client #3969
- UI Navigation : Show Study Description (0008,1030) by default on expanding Edit Attributes on Upload Bulk data files on Patient level #3972
- WADO-RS Retrieve Metadata: Apply configured C-STORE SCP Attribute Coercion also on retrieved Metadata #3975
- Archive Docker image: optionally deploy only the Archive Backend or the Archive UI #3979
- WADO-RS: prioritize Media Types in "accept" Header or "accept" Query Parameter for compressed formats over Media Types for uncompressed formats with equal q value #3981
- FileSystemStorage: make behavior on existing file configurable by optional property "onFileExists" #3983
- UI Configuration - Storage Descriptor : Provide link to extended field descriptions and examples for Storage Property #3985
- UI Configuration - Exporter Descriptor : Provide link to extended field descriptions and examples for Exporter URI and Exporter Property #3986
- UI Configuration - Archive Device attributes : Update description of Delete MWL Delay field explicitly stating the date time field of MWL item considered by the specified delay #3988
- UI Configuration - Device attributes : Update descriptions of Manufacturer Information, Organisation, Issuers fields #3991
- UI Configuration - Web Application : Provide link to examples for Web Application Property #3992
- Upgrade sphinx_rtd_theme to 1.0.0 to enable correct formatting of bullet points in configuration tables in DICOM CS html pages #3993
- RESTful service to list distinct values for Institution Name (0008,0080) of received Series / MWLs #3995
- UI Navigation page - Study / Series tabs - Institution Name query filter : Enable selecting multiple values returned from DB plus custom value for this field #3997
- UI Navigation page - MWL tab : Provide Institution Name query filter to enable selecting multiple values returned from DB plus custom value for this field #3998
- Retrieve Cache for Read access to DICOM Objects packed in TARs #4001
- UI Navigation - Patients / Studies tabs : Extend fields in shown dialog window on copy / move / link / merge actions #4007
- Optimize export from TAR Archiver Storage to other Storage by Storage Exporter #4008
- Extend Link Instances with MWL Entry service to enable application of link strategy specified by client #4010
- Use Worklist Label (0074,1202) instead of MWL SCP AET for separating MWL #4015
- Link Instances with MWL REST service : On matching Study Instance UIDs of instances to be linked with that of MWL, extend the service to map Requested Procedure Description / Requested Procedure ID from MWL to Study Description / Study ID of Study respectively #4016
- UI Navigation : Replace Select rejected type with more appropriate Select Rejection Note type wherever Rejection Note codes are displayed involving rejection action on studies in dialog windows #4017
- Accept Variable Modality LUT Softcopy Presentation State Storage SOP Class by default configuration #4019
- UI: Add the version number of release on HTML script tags #4020
- UI: If there is not format configured to be used to format the person name, don't format the person name with a default format #4024
- Update DB SQL scripts for 5.30.0 for databases other than postgres #4025
- UI: Enable to enter Worklist Label (0074,1202) on create/update of MWL Items #4026
- UI: Navigation MWL - Provide Worklist Label (0074,1202) as query filter and as a column in displayed list of MWL items #4027
- UI: Drop-down list to enter values for MWL Worklist Labels #4032
- Support deletion of objects archived in TAR files #4035
- Accept HL7 Messages with missing values for MSH fields required according to IHE RAD TF Vol 2 Message Control requirements #4038
- RESTful services to update matching Studies/Series by provided attributes #4041
- RESTful Service to update Study or Series attributes: enable to pass Reason for Modification and Source of Previous Values by Query Parameters #404
- UI Navigation Studies more functions: Update Attributes of matching Studies #4043
- UI Navigation Series more functions: Update Attributes of matching Series #4044
- UI Navigation Study: Enable user to specify values for Reason for Modification and Source of Previous Value on Edit of Study Attributes #4046
- UI Navigation : Extend Issuer of Patient query filter to allow adding / sending values for Issuer of Patient ID Qualifiers Sequence #4057
- UI Navigation : Extend Issuer of accession number & Issuer of Admission ID Sequence query filters to allow adding / sending fully qualified issuers #4058
- UI Navigation tabs : Improve / streamline list of query filters #4059
- UI Navigation MWL / MPPS : Provide More to expand hidden filters #4060
- UI Navigation tabs : Provide widget to add fully qualified issuers in query filters #4061
- Enable RS Forwarding for Link Instances with MWL Entry service with MERGE link strategy #4063
- Enable to replace previous received objects by new received objects even if the digest of the new received object equals to the digest of the previous received object #4064
- UI Navigation - Create / Update Patients : Enable adding multiple patient identifiers in Other Patient IDs Sequence #4077
- Avoid data loss caused by wrong configuration of Storage Cluster ID #4084
Bug Fixes
- Concurrent receive of first objects belonging to different Studies of same Patient creates duplicate Patient Records #3154
- HL7 Procedure Status Update MWL remains ineffective unless (not-required) HL7 Procedure Status Update Sending & Receiving Applications are configured #3970
- UIDs with negative components appended to Series / SOP Instance UIDs (optionally also within Predecessors Documents Sequence) of Basic Text SR / Encapsulated PDF reports on receive of HL7 ORU messages #3973
- Cache for attribute coercion by merging matching MWL item attributes does not consider applied XSL stylesheet #3978
- WADO-RS: the archive should not decompress objects for retrieval if Transfer Syntax Parameter transfer-syntax=* is specified #3982
- UI: Move/Copy multiple Instances of one Series of one Study causes generation of multiple Series in the destination Study #3989
- Exporter to other Storage System does not consider UID Map of replacement instances #4000
- Deletion of objects of large studies from storage system triggered by deletion threshold may fail #4004
- Retry to store an object on the storage system may result in corrupted objects on storage #4009
- json schema files of other languages than english (=default) are stale #4030
- Delete Study Permanently RS service fails for study with multiple referenced instance locations #4036
- WADO-RS JSON Metadata retrieval does not consider a configured retrieve cache #4037
- Reject matching studies RS service fails with NullPointerException in Rejection Task processing #4045
- LDAP docker image based on alpine:3.12.x broken #4048
- UI: Persion Name filter dosen't work well with preset filters #4049
- UI Configuration : Configuration fields specified as an array of integers defined by an enumeration are sent as string array in Update Device RS service request payload #4050
- Audit incoming HL7 messages : Incorrectly formatted HL7 messages leading to missing PID segment results in NullPointerException #4051
- UI Configuration Update Device : For integer array configuration fields unselecting any x values always trims x values from the end of array resulting in incorrect request payload #4052
- QIDO-RS - Search Study / Series / Instances : Invalid Retrieve URL values sent in response if includedefaults=false and includefield does not contain respective UID to be returned #4062
- UI Navigation Studies : Referring Physician's Name (0008,0090) not displayed in study results table #4065
- Processing of Procedure Status Update Tasks may fail by IncompatibleSpecificCharacterSetException #4070
- Delete Patient Permanently RS service results in misleading Delete x instances of study log messages and fails with ConstraintViolationException #4075
- UI Navigation : Content Description for Reports does not show Code Meaning from Concept Name Code Sequence #4078
- UI Navigation : Edit Attributes is ineffective on uploading bulkdata files #4079
- QIDO RS: filter Studies by Storage System does not return matches for Studies also available on associated cache/retrieve Storage System #4080
- Forwarding C-STORE RQs from external C-MOVE SCP broken since 5.18.1 #4081
- UI: Date Time Format not working if the milliseconds part is longer as 3 #4082
Dependencies
- Upgrade to Java 11 #3984
- Upgrade Postgres DB docker image to 15.2 #4022
- ldap docker image: upgrade alpine to 3.17.3 #4023
- Keycloak docker image: Upgrade to Keycloak.X 21.0.2 #4028
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 21.0.2 #4029
- Upgrade jaxws-tools-maven-plugin to 1.3.0.Final #4033
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.30.0
5.29.2
Enhancements
- UI Monitoring: Unify lists for Queues, Export, Retrieve, Compare, Storage Verification Tasks #3383
- UI: Provide a person name filter widget #3627
- Accept Second Generation Radiotherapy - Enhanced RT Image and RT Patient Position Acquisition Instruction RT Radiation Set Delivery Instruction SOP Classes by default configuration #3914
- STOW-RS: Optionally coerce attributes of received DICOM objects according IHE Import Reconciliation Workflow #3919
- Add Contributing Equipment Sequence (0018,A001) on Instance level attributes filter in default and sample configuration of archive #3921
- UI Navigation: Upload DICOM file(s) to a particular Patient with query parameter '?irwf=UNSCHEDULED&00100020={patient}' #3923
- UI Navigation: Upload DICOM file(s) associated to a particular MWL item with query parameter '?irwf=SCHEDULED&0020000D={study}&00400100.00400009={sps}' #3924
- Attribute Coercion: Use LDAP attribute "dcmSupplementFromDeviceReference" instead "dicomDeviceName" to persist DN of Device configuration referenced by Device Name Coercion Parameter #392
- Remove redundant AETs in URI scheme specific part of new archive attribute coercions Supplement Composite / Supplement MPPS in sample configuration #3926
- Support Query Keys for Analysis Result Objects according IHE RAD-137 of AI Results (AIR) IP by default configuration #3933
- Support (re)calculation of Series Query Attributes of Series with purged Instance Records #3936
- RESTful services to update Request Attributes of Series #3937
- QIDO RS: change behavior of proprietary Query Parameter requested=false on Study Level #3939
- Supplement Issuer of Patient ID with hash of Patient Name and Birthday on MPPS N-CREATE by default configuration #3942
- Query parameters passed in RESTful services shall get reflected in the 'URI' Active Participant of emitted audit messages #3951
- UI Navigation Studies / Series : Provide widget to mark a study / series as requested / unscheduled #3952
- LDAP docker container: Provide script to provide Modality Worklist and Unified Worklist Services also by the primary Application Entity #3954
- UI: Add a HTML support on description of the JSON Schemas / configuration #3960
- LDAP docker image: Provide ENVs to adjust device name, AE Title, host and port of external C-STORE SCP in default configuration #3964
- UI Configuration : Provide links to extended field descriptions and examples in legacy / new archive attribute coercions #3966
- UI Configuration : Provide link to extended field descriptions and examples for Conditions #3968
Bug Fixes
- Secured UI : Cannot access any "admin" role specific functions #3245
- Missing changetype in LDIF file: update-IOCM_REGULAR_USE-5.26.0.ldif #3915
- UI: Navigation: Sometimes appears the message 'Configure at least one web application..." even there are webapps available, that coses an bug on message widget which prevents messaging widget working after that. #3922
- UI: Monitoring->Retrieve: Hooks are not called if the pathToValue is empty, so that the columns 'Process Delay' and 'Process Time' stays empty #3934
- Hide SPS with Status by MWL SCP(s) not effective with empty Scheduled Procedure Step Status (0040,0020) in C-FIND RQ identifier #3935
- Add missing REST service definition to Count Patients from external archive in QueryRS class #3940
- Attribute Coercion: merge-attrs: not effective for nullifying Sequence attributes #3947
- Concurrent receive of HL7 v2 message for same Patient may create duplicate Patient records in DB #3948
- Supplement attributes from device coercion : Use IssuerOfServiceEpisodeIDSequence instead of retired IssuerOfServiceEpisodeID #3953
- Rejection of large number of instances fails by Transaction Timeout #3955
- UI Navigation: Deleting multiple selected objects/patient, doesen't work #3956
- UI: Range picker widget: If there is any date already in the date field, the today button of the widget doesn't work #3958
Dependencies
- Keycloak docker image: Upgrade base image to eclipse-temurin:17.0.6_10-jdk #3927
- Keycloak docker image: Upgrade to Keycloak.X 21.0.0 #3928
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 21.0.0 #3929
- Archive docker image: Upgrade base image to eclipse-temurin:17.0.6_10-jdk #3930
- Upgrade gosu in archive docker image to 1.16 #3931
- Upgrade gosu in keycloak docker image to 1.16 #3932
Documentation
- Wiki: update HowTo Cluster Keycloak with MariaDB and LDAP using Docker Standalone to Keycloak.X 18.0.1+ #3697
- Update REST Services doc to streamline with Swagger UI #3944
- Access to several wiki pages broken #3946
- Provide documentation for Archive Attribute Coercions : overview, differentiation between legacy and new, and ways to migrate existing legacy coercion configs to new coercions #3967
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.29.2
5.29.1
Enhancements
- UI Studies page : Support to select filter allOfModalitiesInStudy to process multiple values for Modalities in Study as AND #2030
- Archive UI: Adjust OIDC logout to changes in Keycloak 18.0.0 #3689
- Enable new attribute coercions on retrieved dataset when request is triggered by WADO or XDS-I Retrieve Document Set [RAD-69] services #3810
- UI Navigation: Provide Widget to filter for Study/Series which values of specified attributes differs from its original values as received #3822
- UI Navigation: Provide Widget to recreate DB records for a particular Study from stored objects with original attribute values as received #3823
- Create outgoing HL7 Procedure Status Update messages by XSLT #3844
- MWL C-FIND SCP: show ALL attributes of C-FIND RQ identifier in server.log #3850
- MWL Feed from HL7 Order Message: Do not bind created MWL items to associated Archive AE Title by default configuration #3851
- Enable updating MWL status to COMPLETED or DISCONTINUED - optionally also based on Accession Number as matching key - on receive of MPPS #3855
- Provide Modality Worklist and Unified Worklist Services by particular Archive AE "WORKLIST" by default configuration #3858
- Validate Search / Count worklists / workitems / MPPS against their respective web service classes instead of against QIDO_RS / QIDO_COUNT #3860
- UI Navigation MWL / MPPS / Workitems (UPS) : Show Count button if the web applications have the respective Web Service Classes instead of checking for QIDO_COUNT #3861
- UI Navigation Studies : Show Size button only if selected web applications in the the dropdown contain DCM4CHEE_ARC_AET web service class #3862
- UI Navigation : Show Submit button only if there is at least one web application in the Web App Service dropdown #3863
- Remove Web Service Class validation checks for C-FIND / C-MOVE DIMSE proxy RS services #3866
- Support Institution Name mapping in incoming HL7 order messages conversion to DICOM MWLs #3868
- Make logo and background image in UI customizeable #3879
- Archive Docker Image: Optionally overwrite wildfly configuration on container startup #3880
- LDAP Docker image: enable to customize command used to apply environment variables on LDIF files used to modify the LDAP data on upgrading the Archive version #3881
- QIDO-RS C-FIND Proxy: Support relational queries for Series and Instances #3882
- UI Navigation - Series tab : Revert disallowing relational queries for DIMSE specific web apps (QIDO-RS C-FIND Proxy) #3883
- UI Navigation - Studies / Series tabs : Add missing query filters Patient Verification Status #3884
- UI Navigation - Studies : Show Recreate DB record option only for web apps containing DCM4CHEE_ARC_AET web service class #3885
- Add configuration for upsscu tool in archive's sample configuration #3886
- Extend MWL SCP to return matching MWL items ordered by specified attributes #3890
- Support extracting patient identification level NTE segment from HL7 messages and map NTE.3 to Patient Comments (0010,4000) #3892
- Attribute Coercion: Enable to merge nested attributes not only in the first item #3893
- Add Predecessor Documents Sequence (0040,A360) on Instance level attributes filter in default and sample configuration of archive #3894
- Reject incoming HL7 messages not containing mandatory MSH-7 Date/Time of Message #3895
- Avoid duplicate update of MWL status by HL7 Procedure Status Update MWL config triggered by MPPS receive #3897
- Support Storage/Retrieve of Videos with Fragmentable Encapsulated Transfer Syntax by default configuration #3900
- Adjust Predecessor Document Sequence in stored report's dataset on receive of HL7 ORU messages #3902
- STOW-RS: support to split received JPEG/MPEG stream Bulkdata and encapsulate it in multiple pixel data fragments in stored DICOM object #3903
- Update MWL status on MPPS receive : Enable updating SPS Status of all scheduled procedure steps referenced in the MPPS #3904
- UI: Navigation Link Study/Series/Object to MWL: Pre-select rejection type: "Incorrect MWL Entry" in modal window #3907
- UI Navigation: Adjust hover text about marking selected entities #3908
- Preserve Study attributes of original Study on copying/moving/linking to MWL item in new created Study #3909
- Maven profile to build UI WAR in angular dev mode #3910
- ldap docker image: provide script to import LDIF files specified by LDAP_INIT_CONFIG #3911
- HL7 ORU : Optionally append Hash of Study Instance UID to Series and SOP Instance UIDs returned by XSLT #3912
- Keycloak docker image: Persist built Keycloak image in volume /opt/keycloak/lib/quarkus to enable quicker startup #3913
Bug Fixes
- Running with Docker ldap broken connection #1468
- Concurrent receive of first objects belonging to different Studies of same Patient creates duplicate Patient Records #3154
- UI Navigation : Querying entities with selected web application remains ineffective - displays no web application service was selected #3482
- Edit Study / Series and Delete Patient RS services do not return underlying non unique patient or patient merged exception messages in response sent back to user #3847
- UI Device Clone: Cloning of a device sometimes dosen't work #3864
- UI Navigation: Search for Study/Series URL always includes Query Parameter '&SOPClassesInStudy=' #3865
- HL7 messages XAD Extended Address data type with first component only results in ^ suffixed at end of DICOM attribute value on transformation #3867
- Compare Studies specified in CSV RS Service does not consider passed query parameters on executing the diff task #3869
- UI: Monitoring Compare: Clicking on the eye button dosen't work #3870
- UI: Sometimes comes the message that suggests that the permissions are not configured even if they are #3871
- UI: If the language is configured but there is no langauge profile for the loged in user the UI dosen't laod #3887
- FIND SCP/QIDO-RS: TM Range Matching with time range over midnight does not return all matches #3888
- MWL status updated to ARRIVED instead of STARTED on receive of MPPS with IN PROGRESS Performed Procedure Step Status #3896
- MPPS SCP: TCP connection get closed on N-CREATE-RQ for already existing MPPS Instance #3898
- Unsuitable Transfer Capabilities for Video Storage SOP Classes in default configuration of STORESCP #3901
- UI: Navigation: Trying to link a Series object to an MWL results on a error that prevents loading the Filter block of the MWL Tab #3906
Dependencies
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 20.0.2 #3876
- Keycloak docker image: Upgrade to Keycloak.X 20.0.2 #3875
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 20.0.2 #3876
- Keycloak docker image: Upgrade base image to eclipse-temurin:11.0.17_8-jdk #3877
- Archive docker image: Upgrade base image to eclipse-temurin:11.0.17_8-jdk #3878
Documentation
- Update DICOM CS to reflect complete list of attributes supported by archive's C-FIND SCP on each of the levels for Patient Root / Study Root / MWL / UWL / MPPS Information Models #3721
- Swagger : Rectify description for 400 Bad Request error code for retrieving single entities from external archive #3872
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.29.1
5.29.0
Enhancements
- Unify Receiving Presentation Address on Series Level for emulated IOCM Replacement Objects to Objects received by STOW-RS #3797
- UI: Adding warning on Create AET widgets #3798
- UI Navigation Studies / Series : Disable updating Series Instance UID on Edit Series function #3801
- Accept HL7 Order Messages without a value for PID-18 Patient Account Number nor field PV1-19 Visit Number by default configuration #3809
- Enable additional coercion features in new archive attribute coercion rule #3813
- New / legacy archive attribute coercion - coerce C_FIND_RSP dataset from leading-arc : For Patient / MWL queries, leading archive is incorrectly queried for study #3816
- QIDO-RS: filter Study/Series/Instances which values of specified attributes differs from its original values as received #3821
- Accept HL7 Import Report (ORU) Messages without a value for PID-18 Patient Account Number nor field PV1-19 Visit Number by default configuration #3826
- Replace legacy Attribute Coercion for AE AS_RECEIVED in default configuration by corresponding new Attribute Coercion #3829
- Supplement Issuer of Patient ID with hash of Patient Name and Birthday on receive by default configuration #3834
- Log missing required MPPS attributes on no outgoing HL7 PSU notification triggered by MPPS #3835
- WADO-RS: add bulkdata and pixeldata sub-resources according CP2040 #3838
- Archive docker image: configuration files shall also get updated on version update, even its modification timestamp is newer than the new configuration file in the docker image #3841
- MWL SCP, MWL RS: Do not consider configured Hide SPS with Status by MWL SCP/RS, if there is a particular SCP Status specified in the request as matching key #3842
- Merge MWL Coercion: only consider MWL items with particular Scheduled Procedure Step Status codes #3843
Bug Fixes
- dcm-arc 5.25 erro: cannot into the web when I changed the language #3504
- UI: Study: The selected objects in the study page are saved by the UI in the background and are manipulated while clicking "Actions for selections" without a warning #3588
- Updating mysql to 5.28.0 fails #3800
- UI Navigation Workitems : Subscription to single UPS workitem remained ineffective if UPS contained Scheduled Human Performers Sequence #3802
- ca certificate of pre-configured TLS key/certicate expired on 28 Sept 2022 #3806
- New / Legacy archive attribute coercion : Supplement Issuer of Patient ID from Device does not get correctly applied on incoming C-FIND request dataset #3811
- Rectify logged mergeAttributes in new attribute coercion on its application #3812
- Enable coercing C_FIND_RSP dataset with attributes received from leading-arc using new archive attribute coercion #3814
- Enable mergeAttribute using new archive attribute coercion in outgoing C_FIND_RSP with external client role as SCU #3815
- Conditions for Coercions of attributes of C-FIND-RSP and QIDO-RS responses not effective #3819
- QIDO-RS: return matches as CSV fails to serve concurrent requests reliable #3820
- Queued Export study / series / object : Configured exporter without configured queue fails with InternalServerError #3824
- UI Navigation Export single study / series / object : Error Message sent back in response is not displayed to the user #3825
- UI: Navigation: Filters block not rendering as they should on firefox #3828
- Updating Attribute Coercion on Failure value to SUFFICIENT in new archive attribute coercion fails #3833
- Person Names from received HL7 messages may get corrupted #383
Dependencies
- Keycloak docker image: Upgrade to Keycloak.X 19.0.2 #3799
- Upgrade logstash in docker image to 8.4.2 #3807
- Keycloak docker image: Upgrade to Keycloak.X 19.0.3 #3827
- Keycloak docker image: Upgrade base image to eclipse-temurin:11.0.16.1_1-jdk #3839
- Archive docker image: Upgrade base image to eclipse-temurin:11.0.16.1_1-jdk #3840
- Upgrade Keycloak adapter and Keycloak Admin Client in archive docker image to 19.0.3 #3845
Documentation
- Supplement Issuer of Patient RS service : Improve swagger spec for 400 Bad Request description to reflect additionally incorrectly passed query filters #3836
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.29.0
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