Welcome to HL7 Soup V3.7
What's new?
Version 3.7 introduces data tables, improved workflow management and TLS for TCP!
Added Data Tables feature, allowing the creation of tables of data that can be used throughout HL7 Soup and Integration Host. It supports HL7 Data Tables for easy modification and also custom tables.
Data Tables support a hierarchy of folders, enabling the creation of models for specific customers, countries, or projects. If a referenced value isn’t found in a specific folder, the parent folders are traversed to locate it.
Included new fake personal details data tables (e.g., Person, Phone, Address) for different regions of the world, usable for generating fake data.
Anonymize Message is now a feature of HL7 Soup. Ctrl+F2 anonymizes a message by replacing standard known identifiable fields. F2 replaces a specific field, attempting to replace any value with the best data possible.
Data Tables use variable syntax, allowing a variable to represent a value. Each message automatically shifts the table forward through the list to provide new values for each message. Syntax is available for both random and fixed records.
Filters and Conditions can use Data Tables in their criteria.
Data Tables are fully programmable using the HL7 Soup C# API.
The workflow designer binding tree now provides Data Tables as a source, allowing for simple drag-and-drop operations.
Data Table data can be inserted into HL7 Soup messages. Ctrl+F5 replaces the entire message with known Data Tables. F5 replaces a specific field.
Messages sent with HL7 Soup senders will replace Data Table variables as they are sent.
Imported workflows no longer start automatically. You must manually start them the first time.
Workflow patterns in Integration Host are now stored in
C:\ProgramData\Popokey\HL7SoupIntegrationServer\Workflows
, allowing patterns to be managed by Git. New or altered workflows dropped into this directory are automatically imported and started when the service is restarted.Statistics now include repeat segments if the index is omitted in the path (e.g., OBX-5.1). This can produce more results than the number of messages. The right-click statistics option now includes options to select results with and without indexing.
Altered the behavior of the Move To Directory for the File Writer. It now attempts to use the original filename as the new name and only appends a timestamp if there is a conflict.
Added a “Save Filtered Messages As” button to the HL7 Soup Editor menu when filters exist on the list of messages. Saves only filtered messages.
Added an alert that notifies you if no message is received for a period of time.
Added TLS/SSL for TCP/MLLP.
Added Certificate Authentication for TCP/MLLP.
Included a Certificate Validation UI for HTTP receivers for non-cloud systems (cloud systems already had it).
Added new alert methods: send email via HL7 Soup.com and send alerts to an API.
Made the “Open All Logs in HL7 Soup” feature conform to the filters set, including dates and success values.
Created a “Reprocess All Messages” menu option on the logs. This conforms to the filter set but is not limited to the 1,000-item cap and runs entirely on the server.
Database message logs now use a cache under high load. Logs might fall behind actual processing if the database connection is slow, but logging is more robust. This can be turned off with the shared setting
LogCacheToDiskEnabled
. When records are in the cache, logs are added at a higher speed than usual.Clearing the database logs now deletes the records rather than hiding them. This reduces database space without waiting for the purger, although it may take longer. It can be reverted in the stored procedure (SP).
Clearing the database logs now notifies you of the status in the dashboard. Only one workflow can be cleared at a time.
Reduced locking when calling
LogItemGet
in the logging database.Added
LogItemPurgeEverything
to the logging database, which quickly removes all log records. This feature does not have a UI to call it.If the database runs out of space,
LogItemPurgeEverything
is automatically called. New logs are prioritized over historical ones. To retain the old behavior, setPurgeEntireLogIfDatabaseIsFull
to false in the shared settings.Standard log purging now processes faster if large amounts of data need to be removed.
Clearing the message logs from the workflow designer now includes a confirmation dialog.
Reprocessing messages now increments the received count.
Added a visual index to the transformers list to facilitate collaboration, track transformers, and identify errors in code activities.
Added multi-select functionality for transformers, allowing Copy, Paste, and Delete. It also supports copying between activities and workflows.
Added the ability to drag
*.hl7workflow
files into the Integration Host client for importing into the server. This works with multiple files simultaneously.Allowed message validation in workflows using HL7 Soup highlighters.
Updated highlighters to save in JSON format rather than binary, enabling easier manipulation.
The Directory Scanner is now less strict when saving, issuing a warning instead of preventing the save entirely.
The Integration Host client now has an Import Workflow button under the New button dropdown.
The File Writer now checks for file paths that are directories but don’t include a filename.
Pasting certificate thumbprints from Certificate Manager now strips out control characters that previously prevented the certificate from being found on some computers.
Improved error messages for custom activities downloaded from the web that were blocked. Set
DirectoryScannerOrder
to “name.”Created a shared setting that allows the Directory Scanner to retrieve files in name order instead of by creation date.
The Binding Tree now expands HL7 Fields and Components by default, whereas previously only the segments were expanded.
The Binding Tree now lists variables alphabetically.
Added
LF
as a hidden variable that stores the line feed character.Added a JSON file to the Lookup Tables directory to configure case sensitivity and handle missing values.
Allowed workflows created on newer versions to be imported and to continue running after a downgrade. Notifications warn the user of potential problems.
Allowed copying of data from the log viewer variables. Also added a maximum height in the viewer to improve scrolling for large values.
API: Created
ITextMessage
for messages using the Text message type, allowing setting or appending text lines.API: Added
CreateMessage
functions to WorkflowInstance that can generate any message type.API: WorkflowInstance now includes functions for lookups and Data Tables.
API: Added
GetChildStructuresAtPath
andGetChildValuesAtPath
toIXMLMessage
andIJsonMessage
for retrieving repeating node values or structures.API: All message types now support
SetText
to update the entire message.API: Added
GetValue
,GetFieldValue
,GetComponentValue
, andGetSubComponentValue
functions to HL7 Segments and Fields to retrieve values or return empty results even if not present in the message.API: Added a Helpers class, a superset of HL7Helpers, which includes formatting features such as Title and McName casing.
API: Added the ability to set the root path for
IXMLMessage
, enabling navigation starting from a different location in the message.McName casing values are now stored in Data Tables for easier manipulation.
Added a warning when too many HL7 versions are loaded due to the wrong field in MSH-12. This prevents memory issues.
Fixed a performance problem in the workflow designer that caused transformers to load slowly when a transformer contained large amounts of text.
Fixed a bug that caused files to be left behind during Move To Directory operations when using the File Writer under heavy load.
Fixed a bug that caused dragged conditions in the Begin Condition to not display the and/or until clicking away and back.
Fixed a bug that caused errors in custom activities when attempting to instantiate an abstract class.
Fixed a bug that prevented the workflow designer from closing properly after clicking close, leaving the process running invisibly and preventing the workflow from being reloaded.
Fixed a bug that produced an error for disabled code activities that couldn’t compile.
Fixed a bug in the truncation of large log records.
Fixed a bug that made replacing values with nothing not function in variables.
Fixed a bug that removed quotes from CSV fields created with escape characters, resetting them to no quotes.
Fixed a bug that made dragging transformers to a new location drop items if moved too quickly.
Fixed a bug that caused transformers to move to a new location if a combo box was open and then another transformer was clicked.
Fixed a bug cloning a workflow with an Append Line transformer that stopped writing the line until recopied.
Updated Azure DLL files as Microsoft identified a vulnerability in the
Microsoft.Identity
assembly.Fixed a bug that prevented non-HL7 messages from being reprocessed from the logs.
Fixed a bug that caused workflows to be removed from the list when saving without an internet connection.
Fixed a bug in the TCP sender timeout that caused the default setting to override the user-selected value.
Download HL7 Soup Editor V3.7 Here Download Integration Host V3.7 Here
Please post any questions you might have to our support page.