#                                                    #
#  Waypoint 1.7.0                                    #
#  2017-2020, Laurel Bridge Software                #
#                                                    #
#  Version History                                   #
#                                                    #

Changes in 1.7.0 (2020-09-11):

 - The Composer DICOM filter is available for incoming messages from Worklist Users and outgoing messages to Worklist Providers.
 - Memory improvements when querying external worklist providers.
 - Improvements to TLS encrypted connections for HL7.
 - Changed the default DICOM TLS listen port to 2764 in order to avoid conflict with Compass' default listen port.
 - Additional extended character sets are supported for both DICOM query responses and HL7 Messages. See section 6 of the Waypoint DICOM Conformance Statement for more details.

Changes in 1.6.0 (2020-06-22):

 - Incoming Web Services can be enabled at startup from the DICOM or HL7 System configuration screens.
 - Patient birthdate, Study Date, Scheduled Procedure Step Start Date, Scheduled Procedure Step End Date, and Study Date in HL7 messages can be in DICOM format (yyyymmdd) or common format (mm/dd/yyyy).
 - Waypoint Client must always Run As Administrator because it updates WaypointClient.exe.config with the current log file name.
 - Added the macro ${NEWUID} that can be used to generate the value for Instance UID DICOM elements, e.g. Study Instance UID and Referenced Patient SOP Instance UID.  The value is generated by DCF 3.4 DataDictionary.CreateUid() and has the format 1.2.840.114089.
 - Improved the clean shutdown of both WaypointClient and WaypointService, allowing them to restart immediately after being shutdown.
 - Added Visits/ReferencedPatientSopClassUid (0008,1120.0008,1150) and Visits/ReferencedPatientSopInstanceUid (0008,1120.0008,1155) to the database.
 - Added HTTP RESTFUL, Web Service, and SQL Connections to the Waypoint Client to display connection statistics for each of the Worklist Provider transport modes.
 - For newly created HL7 MWL Mappings, the default value for WorklistOrders/ScheduledProtocolCodeSequence_CodingSchemeDesignator (0040,0100.0040,0008.0008,0102) and WorklistOrders/RequestedProcedureCodeSequence_CodingSchemeDesignator  (0032,1064.0008,0102) is "LOCAL". The default value for WorklistOrders/SpecificCharacterSet (0008,0005) is "ISO_IR 100".
 - Worklist Providers with transport mode HTTP RESTFUL support invoking both GET and POST HTTP methods.  Also, Web Service and HTTP RESTFUL worklist providers can specify an Authorization Worklist Provider that retrieves the access_token from the server to allow invoking HTTP methods that require authorization.

Changes in 1.5.1 (2020-04-22):

 - Improved robustness when the configuration for the Default DICOM Rule is edited.
 - Waypoint Client now saves the form window's size and location.
 - Waypoint Client DICOM Association Status table displays "SOP not enabled" with State Rejected if all requested SOP classes in the association request are not enabled.
 - Fixed a defect with queries that matched both the Scheduled Procedure Step Date range and Scheduled Procedure Step Time range.

Changes in 1.5.0 (2020-04-08):

 - Added compliance with DICOM Standard Part 2 section C. Sequence Matching, see DICOM Rules Action in User Manual for more information.

Changes in 1.4.0 (2020-03-27):

 - Added support for LDAPS.
 - Added ScheduledProcedureStepEndDate to the WorklistOrders database table.  This enables the DICOM elements Scheduled Procedure Step End Date and Scheduled Procedure Step End Time.  This field is used by the new ${SCHEDULED_STATUS} macro to automatically cancel new orders that are updated with an end date and have not yet started or completed.
 - Added capability to Worklist Providers to schedule polling requests with external devices using Web Service, HTTP RESTful, or SQL ODBC transport types in addition to the existing DICOM transport.

Changes in 1.3.2 (2020-03-06):

 - Database robustness improvements.

Changes in 1.3.1 (2020-02-10):

 - Stability improvements.

Changes in 1.3.0 (2020-02-05):

 - Waypoint has been updated to .NET Framework 4.8 and .NET Core 3.1.
 - Improvements to the display and handling of SOP classes listed in the supported SOP class list on the DICOM Options System tab. SOP classes not inherently supported by Waypoint will result in a DIMSE response error.
 - The Pattern Replacements in HL7 MWL Mappings now support regular expressions that contain commas, for example, ^(.{1,16}), to limit the Accession Number to 16 characters.
 - Added compliance for Modality Performed Procedure Step Retrieve SOP Class.
 - Added compliance for Modality Performed Procedure Step SOP Class.
 - The edit link on Worklist Users and Worklist Providers Filters has been disabled.  Please use AE Rules Pattern/Replacements editor which is tailored for the DICOM Elements used in the Modality Worklist Information Model.

Changes in 1.2.8 (2019-11-14):

 - The values GrpcMaxSendMessageLength and GrpcMaxReceiveMessageLength for communication between the  Waypoint client and service are now configurable via the file WaypointService.exe.Config.  If the Waypoint client displays the message "Unable to save the new configuration", increase the aforementioned values and restart the Waypoint service and client.

Changes in 1.2.7 (2019-10-29):

 - Patient name, patient birthdate, and patient sex are now allowed to change when updating an existing worklist order. Worklist queries will receive the latest updated values.  The matching criteria for an existing order is: Patient ID, Issuer of Patient ID, Accession Number, Study Instance UID, and Modality.
 - Minor UI improvements.
 - Improved robustness on purging the oldest worklist orders from the database when max orders is reached.

Changes in 1.2.6 (2019-06-04):

 - Improved database performance.
 - Waypoint DICOM System options now supports security options for the encrypted listener using TLS 1.0, 1.1. or 1.2.
 - HL7 Sources now support specifying security options for TLS 1.0, 1.1, and 1.2.
 - Fixed defect to set response for Scheduled Procedure Step Start Time to be in 24 hour time.  For example, if the worklist item was stored with Scheduled Procedure Step Start Time at 3:00 pm, the response is now correctly reported as 1500, not 0300.  Note, the time was stored correctly, but the data in the response message was not in 24 hour time.
 - Significantly improved performance creating and updating worklist items in the Waypoint database.
 - Added HL7 Execute rule condition to allow the execution of custom code before an HL7 message is inserted into the Waypoint DB.
 - Cleaned up the Waypoint Privacy and Security Statement (Appendix A in user manual) and created an MDS2 document.
 - Unfinished Order Purge Delay is a new System option to specify the retention time in days for unfinished orders by Modality and Scheduled Location.  This is useful for encounter based orders that were created but never completed.
 - A new System option was added to optionally limit the number of C-Find responses that are returned from a query.
 - Very often, field values in HL7 messages are longer than their corresponding DICOM Element allows.  The Regex pattern replacement has been enhanced to allow the value stored in Waypoint's database to be limited to the defined length for the DICOM element.  For example, Requested Procedure Description VR is SH which has a length of 16.  The following pattern is used to limit the value in the response to 16:


Note, the literal comma in the regular expression is denoted with 2-commas ,,
 - Order creation from the Web UI supports the following Requested Procedure Priorities: Routine, Low, Medium, High, and STAT.
 - To support encounter based worklist orders, Waypoint offers the feature to dynamically generate values for elements in the query response.  For example, if the mapping rule for Accession Number is configured with the macro ${ACCESSION_NUMBER}, Waypoint will generate a new unique accession number in the C-Find response.  Another example is setting Scheduled Procedure Start Date to the ${TODAY} macro.  This will set today's date in the Scheduled Procedure Step Start Date.
 - Added support for the single character wildcard '?'.  This is compliant with the DICOM Standard Part 4 section C. Wild Card Matching.
 - Admission ID column was added to the Visit table.  This is DICOM Tag 0038,0010.
 - Waypoint Worklist Providers have the option to be polled on regular intervals to retrieve worklist orders from the provider.  The Polling Rate/Hour options are: Never, Once per hour or Every 1, 5, 10, 15, 20, or 30 minutes.
 - Extended the data displayed for the association history on both the Waypoint Client and Web UI.  The columns are: Started, Ended, Called Title, Calling Title, Result, Source Name, Calling Host, Calling Port, and State of the association.
 - Requested Procedure Priority was added to the HL7 MWL Mappings for WorklistOrders.  The DICOM tag is 0040,1003 and the default HL7 tag is OBR|5.
 - UPS RESTful service requests require Web Running on the Waypoint client.  If Web is Stopped, all HTTP RESTful requests fail with HTTP Error 401, Unauthorized.

Changes in 1.2.5 (2019-01-28):

 - Added support for DICOM verbose logging.  When the log level is set to DICOM Verbose, DCF writes detailed logs of all association and PDU messages.
 - Added a configurable login warning banner.
 - Waypoint supports AE Rule configuration that can be applied to the UPS-RS SearchForUPS RESTful query.  See User Manual section 4.5.1 UPS-RS SearchForUPS for more information.
 - Memory improvements with the in-memory SQLite database context.
 - Waypoint client has been updated to accurately display Accepted, Released, Rejected and Aborted counts for association requests since startup.  The grid displays a summary of all associations.  Rejected associations will have one of the following reasons: Bad Calling Title, Bad Called Title, Bad IP Address, Bad Transfer Syntax, Source is Disabled, Limit Exceeded
 - Fixed an issue with the association counters on the Windows UI.
 - Fixed an issue with AE title mode with the Worklist provider.
 - Fixed an issue where DICOM logging could not be enabled on the Worklist provider.
 - Worklist User Source IP configuration must be either Allow Any or an IP Address.  Hostnames are no longer allowed because it makes Waypoint dependent on the DNS Server.
 - Orders page now supports multi-select to easily delete a group of orders.
 - Waypoint Web interface allows you to create and delete worklist items from the database.  This is used for encounter based exams that did not come from the HIS.
 - Responses are now populated with the Affected SOP Class UID field.
 - License information can now be displayed from the web interface.
 - The unencrypted DICOM listen port can be configurably disabled now. If disabled, the TLS DICOM listen port must be enabled.
 - Fixed an issue where changing the DICOM listen port required a restart of the service to take effect. The service no longer needs to be restarted.
 - Support for UPS-RS Web Service: SearchForUPS.  The response is compliant with DICIOM PS3.18 2017c section F.2 DICOM JSON Model.
 - Waypoint 1.2.3 and above require .NET Framework 4.7.2 to be installed.  Launching the Waypoint Client displays a dialog box that redirects you to the Microsoft Download Page for .NET Framework 4.7.2 if it is not already installed.

Changes in 1.2.4 (2018-12-05):

 - Extended the certificate validity period.

Changes in 1.2.3 (2018-10-31):

 - Added TLS support to the Modality Worklist SCU.
 - Waypoint now targets .NET Framework 4.7.2.

Changes in 1.2.2 (2018-10-09):

 - Cleaned up some incorrect audit log messages. Additionally, Audit log messages containing PHI can now be suppressed from the local Waypoint logs.
 - Waypoint now supports time range queries.  When specified, the study time range is appended to each date in the study date range to find the query responses.
 - Recommend setting Waypoint Database properties with Initial Size 3000 MB and Autogrowth By 64 MB, Unlimited.
 - Create an in-memory cache of worklist orders with Scheduled Procedure Step Start Date between yesterday and tomorrow for very fast query response.
 - AE rules now support filter replacement strings.

Changes in 1.2.1 (2018-09-12):

 - Performance enhancements.

Changes in 1.2.0 (2018-07-16):

 - Numerous stability and performance enhancements.
 - Enhancements to the display of dates and times.

Changes in 1.1.0 (2018-05-01):

 - Enhancements to rule processing logic.

Changes in 1.0.0 (2018-04-26):

 - Initial version.