-------------------------------------------------------------------------------- HL7 Tools Release Notes - https://www.raymarron.com/hl7/ -------------------------------------------------------------------------------- Key: + New feature or improvement - Feature deprecated or removed (deprecated items are removed after one year) * Bugfix ! Breaking change, attention required upon upgrade 2021-01-24 HL7ScriptService 10.060, HL7TransmitterService 10.070 + Added the StatusDB ini setting to allow StatusSQL to use a database other than the one defined for the connection. This also allows for file-based connections to make use of the StatusSQL feature. + Added the :StartTime parameter to StatusSQL. 2021-01-17 HL7ScriptService 10.050, HL7TransmitterService 10.060 + Added the StatusSQL ini setting to have the connection status written to the database on database-enabled connections. This can be used to write your own service monitoring application. 2020-12-19 TLoggingLevel (all services) + Added the Trace logging level above Debug for highly repetetive or bulky logging. HL7ScriptService 10.041 + Updated for the new Trace logging level, but nothing yet makes use of it. HL7TransmitterService 10.050 + Added the ability to load the Named Fields definition from a SQL query on database-based receivers. The definition itself gets logged at Trace level. + "Inactivity timer reset" logging changed to Trace level. 2020-12-06 HL7TransmitterService 10.040 + Added the Inactivity Reset option. 2020-11-19 HL7TransmitterService 10.030 + Added the "Sort By" option to file-based transmitters. Past behavior was to always sort by Time. 2020-10-12 THL7Anonymizer (all projects) + Added the ability to use a database for increment and datastore storage. + The Named Fields definition may also come from the database. HL7Script 10.423 !- Removed the deprecated OUTKEYEXISTS function (use KEYEXISTSOUT). + No deprecated features remain! HL7Viewer 10.204 + Bumped version to reflect THL7Anonymizer changes. 2020-08-29 HL7Script 10.422 + Added THL7Script properties for settings that could affect the behavior of the EvalBoolExpression and EvalDataExpression methods that are run without providing a script. The properties match the built-in variables of the same names: Debug, DebugData, Epsilon, NamedFieldsDef, and StrictNum. HL7Viewer 10.203 + Added a checkbox for the Auto Fast Search preference directly to the Find in Files/Data dialog so it can be turned on/off as needed. + Further improved automatic Fast Search parsing by leaving the value blank if the expression contains the words "OR" or "NOT", because the logic is too complex to assume a single value can identify a candidate message. 2020-08-17 HL7Viewer 10.202 * Fixed Find in Files/Data Fast Search failing when case-insensitivity was required. It would not consider a message that contained "Test" if the search criteria was something like U@PID.5.1 == "TEST". 2020-08-08 HL7Script 10.421 + Added the __Null built-in variable. Readonly, constant HL7 null "". !+ The TRANSLATE function will now raise an error if the requested translation table has not been defined. Previous behavior was to return the default. 2020-08-01 HL7Script 10.420 + Added the POSEX script function. + Added the "ValidationInput=HL7" option to embed the validation HL7 message directly in script comments. + Added the special "ValidationStrict" comment that allows validation to turn off the Strict setting to relax message construction rules. + Updated the CombineFragments.h7s script with new function syntax. + Added the __PK built-in variable and THL7Script.PK property to more easily distinguish between file and database input. + Added a View button for the Named Fields file on the preferences dialog. HL7ScriptService 10.040 + Updated to set the THL7Script.PK property when using database input. HL7Viewer 10.201 + Added a View button for the Named Fields file on the preferences dialog. 2020-07-25 THL7Message (all projects) + Changed the default Caching setting to True. HL7Script 10.410 + Added the __Caching built-in variable for the message property of that name. + Added the TIMEDEF script function. + Removed any restrictions on where optional sections (INIT, PRE, etc.) must appear within the script file. + Refactored line number storage so even deep $INCLUDEs show accurate numbers. + General improvements to __Debug and __DebugData logging. 2020-07-18 HL7Script 10.400 + Added a second, preferred syntax for calling script functions: Enclose the function name and comma-separated arguments in square brackets. Old way: SET $VAR = C@("FUNCNAME," + $ARG1 + "," + $ARG2 + ",0") New way: SET $VAR = [FUNCNAME, $ARG1, $ARG2, 0] + Made the parser less likely to mistake an unquoted decimal number as an invalid HL7 key. + Added the DATEDEF function. !- Removed the deprecated SHELL script function. HL7Viewer 10.200 + Reorganized the main menu. Added the Options menu. + Added the ability to Mark messages. F6 or double-click a message node. The mark image can be selected in preferences. !+ The Transmit shortcut key is now Ctrl-T since F6 was given to Mark message. + Filter will now Keep, Delete, or Mark messages matching the expression. The previous behavior was Keep (delete messages that do NOT match). + Run Script may now be run against the Selected, Marked, or All messages. + Transmit may now be run against the Selected, Marked, or All messages. 2020-06-21 HL7Viewer 10.122 + Added the ability to run a script against just the selected message rather than all messages. 2020-06-18 THL7NamedFields class (all projects) + Improved error handling and messages to identify an otherwise generic error as having come from loading a named fields file/definition. + Improved HL7NamedFields.*.txt file comments. HL7Script 10.300 + Added the special "EOF" value for setting the __FilePos built-in variable. !- Removed the deprecated ability to create section variables without a prefix. This now raises an error. Special variables such as $ROWSAFFECTED and $XMLOK are no longer created with an unprefixed version for legacy scripts. HL7Viewer 10.121 * Fixed the #2 or higher segment sequence number not being stripped from the named key when showing both numeric and named keys, e.g. NTE#2.1 2.SetId 2020-05-16 HL7Script 10.251 + Added the __SegCountOut built-in variable. 2020-05-02 HL7Script 10.250 + Added the FILE OPEN command to support input as well as output. + Added the __FilePos built-in variable to set/get the current FILE position. + Added the HL7 LOADNEXT function to load the next message from the open FILE. + Added the __MsgStartValues built-in variable for HL7 LOADNEXT. 2020-04-25 HL7Viewer 10.120 + When "Show Named and Numeric Keys" is on, the numeric key is now shown first for improved visual alignment, and the segment ID is omitted from the named key to be less verbose. The "Copy Named Key" action still returns the full key including segment ID. 2020-04-18 HL7Script 10.240, HL7ScriptService 10.030 * Made polling and loop datasets readonly with a unidirectional static cursor to avoid a "Connection is busy with results for another hstmt" or "Invalid cursor position" on a large input set when also doing updates in the script. + Added the LOOP BIGQUERY command to use when a query is expected to be large. When used, the dataset is fetched in reasonable chunks (FetchOptions.Mode is set to fmOnDemand) rather than all at once (fmAll) which is now the default. 2020-04-11 HL7Viewer 10.110 + Added "Click to ..." hints to the status bar based on the current state. + During a database Watch, the connection remains active rather then being opened and closed on each interval. + Added the optional :WatchPK parameter to database watches so the query can return only new rows each interval. It contains NULL on the first query, or the last PK returned from the previous query (last should be highest). Example: SELECT pk, msg FROM hl7 WHERE pk > ISNULL(:WatchPK, 0) ORDER BY pk + Opening Find in Files/Data after an active Watch will re-select the Watch option rather than defaulting back to Clear. + Improved Find in Files/Data error handling, identifying the problem message and prompting the user to continue or cancel the search. * Fixed a Find in Files message parsing error caused by not resetting the encoding between files in a search of mixed ASCII/UTF-8 files. 2020-04-04 HL7Viewer 10.100 + Added the ability to Watch a directory or query from the Find in Files/Data dialog. It periodically checks the directory or query for new messages and adds them to the tree. If the maximum message count is reached, the oldest messages will be removed to make room for the new. + Added a script help button to the Count Unique Values dialog. 2020-02-29 HL7Script 10.237 + Attempting to assign a variable with a prefix-only name raises an error. HL7Viewer 10.061 + Run Script can now be cancelled. Post-processing will be skipped on cancel, abort, or error. The Finalization section is also skipped when cancelled. 2020-02-08 HL7Script 10.236 + Add a warning to the log whenever an un-prefixed variable is used as this was deprecated in June 2019 and will become an error in June 2020. HL7ScriptService 10.020 (and Config) !+ A global setting now controls whether the shared service variables (%%) are persisted between service starts. False by default, which differs from past behavior, so review upon upgrade if used previously. + If service variables are in use and set to persist, they will be saved periodically as well as at shutdown (just like the log) to prevent data loss in the event of power outage, etc. -------------------------------------------------------------------------------- For release notes older than one year, see releasenotes_old.txt --------------------------------------------------------------------------------