Mirth Newsletter

Mirth 1.7 Released!

We are happy to announce the release of Mirth 1.7! This is a major release and a project milestone including over 150 new features, fixes and improvements. Mirth 1.7 includes native DICOM messaging support, support for message attachments (including built-in RTF and Image viewers), improved routing performance (>800/messages per second with no filters/transformers), new drag-and-drop transformer and filter builders, and a built-in JavaScript connector.

Installation

Mirth 1.7 includes many critical message processing fixes and is a recommended upgrade. Mirth 1.7 can be installed by downloading the appropriate package for your operating system. Note that Java 1.5 is required. Java 1.6 can be used, however it is not recommended nor supported.

  1. Download Installer
  2. Windows: Run setup.exe and follow setup instructions. If installed as a service, Mirth will be started immediately
  3. OS X: Unzip and run setup app. After Mirth is installed, navigate to the Mirth install directory in Terminal.app and run "chmod +x mirth.sh" then "./mirth.sh".
  4. Linux: Refer to readme in archive.
  5. Launch administrator by going to  http://localhost:8080

Upgrading

We have designed Mirth 1.7 to upgrade old versions seamlessly.You can install Mirth 1.7 directly on top of Mirth 1.5, 1.6(.1) and any 1.7 betas. Your database and channels will be updated automatically when you first start Mirth 1.7. Of course, we recommend you make a backup of all channels and settings before performing an upgrade. 
Channels from Mirth 1.5 and above can be imported with the import converter in Mirth 1.7. Older channels might work, however behavior is not guaranteed. Note that certain channel elements have changed, so imported channels should be fully tested in Mirth 1.7 before being used in production.

Important Note about line-endings: Mirth 1.7 includes improved standards-compliance  with regards to proper HL7 end of segment encodings. Earlier versions of Mirth automatically converted all linefeeds (\n) to HL7 standard carriage-returns (\r). This behavior in Mirth 1.7 has been reversed and the automatic conversion is now a property on the parser. Old channels imported in Mirth 1.7 will have the property set by default, however new channels will expect all HL7 segments to be terminated with carriage-returns (\r). Line endings can be viewed in the Mirth Administrator by right clicking on an HL7 message and choosing "show line endings".

Release Notes – Mirth – Version 1.7.0

Bug

  • [MIRTH-143] – Shutting down the Mirth service while processing causes a fatal error.
  • [MIRTH-379] – Channel protocols doesn't update internally until a change is made in the JS associated
  • [MIRTH-426] – Client form validation highlighting doesn't work properly with multiple destinations.
  • [MIRTH-431] – Inconsistent list rendering on client
  • [MIRTH-512] – Internal message sender replaces all return characters
  • [MIRTH-520] – Error detecting fields in SQL sentences
  • [MIRTH-521] – LLP to LLP using queues tries to serialize a Socket object
  • [MIRTH-524] – Connector with file reader source does not honor the file type set to ASCII
  • [MIRTH-525] – JMS writer to JBossMQ 4.2.1 connection fails
  • [MIRTH-530] – On Mirth Administrator pop up window, when we tab to 'Login' button and click Enter (after entering login credentials) it does not work. We need to click the button with the mouse click to make it work.
  • [MIRTH-531] – Mirth Application does not respong when 'Back to Channels page' button is clicked after appending/inserting Transformer/Filter
  • [MIRTH-535] – Bug in HAPI XMLParser found!
  • [MIRTH-538] – SFTP working directory path bug
  • [MIRTH-539] – Database Writer cannot connect to databases without username/password
  • [MIRTH-541] – Some HTML in map value causes mappings in the message browser not to display.
  • [MIRTH-547] – Bug in Shell.java, and OutOfMemoryError on server side handling /events
  • [MIRTH-548] – MLLP Sender doesn't read the ACK sended for nule.org tools (hl7broswer, hl7Com)
  • [MIRTH-549] – Error using LLP Queues with LLP inbound connections (socket serialization error)
  • [MIRTH-551] – Cannot deploy if all destinations are not enabled
  • [MIRTH-552] – Postgres Connection Template is incorrect
  • [MIRTH-554] – CTRL-S does not work properly in the transformer
  • [MIRTH-559] – URLClassloader paths are not being encoded, causing paths not to parse properly with some classloaders (i.e. JBoss)
  • [MIRTH-560] – Alerting did not work if no "Default from address" was specified.
  • [MIRTH-561] – SMTPConnectionFactory always uses a blank string for auth user and pass even if auth is set to false
  • [MIRTH-563] – Disabling a destination causes error on deploy
  • [MIRTH-564] – Shell configuration exports do not include date or other client specific features.
  • [MIRTH-566] – On an SFTP source, it seems as if some servers require an extra '/' character seperating the host:port from the starting directory
  • [MIRTH-571] – ACK Timetout is not used
  • [MIRTH-572] – HL7 inspector can't receive MIRTH messages
  • [MIRTH-575] – http Password can't be set at Mirth 1.6
  • [MIRTH-577] – After you've drilled into a Transformer via 'Edit Transformer' on a given Channel, the Back button says "Back to channels". Shouldn't this say "Back to Channel"?
  • [MIRTH-580] – Special character not preserved.
  • [MIRTH-583] – Deleting a filter in the middle of the list
  • [MIRTH-584] – Global scripts need to be compiled and checked for errors on save.
  • [MIRTH-586] – Default file reader pattern should be * to get all files
  • [MIRTH-587] – Saving any channel when a connector that is required by a channel is missing does not work.
  • [MIRTH-602] – Setting "Don't store messages" will cause dangling attachments to be left in the attachment table when used with DICOM
  • [MIRTH-603] – Create hook in message pruner to also clear the attachment
  • [MIRTH-607] – Make clients map regex ignore map.puts that have a key that is not a string literal
  • [MIRTH-611] – Cannot use Global Variable in the preprocessor script ("globalMap" is not defined.)
  • [MIRTH-612] – Control Characters Halt Message Processing
  • [MIRTH-613] – JMS Reader and Writer have properties carried over between channels.
  • [MIRTH-617] – Importing channel with same id and different name automatically overwrites without asking
  • [MIRTH-618] – Client exception when server closes and on dashboard
  • [MIRTH-621] – Cannot add a segment if segment is not listed in Sample Output
  • [MIRTH-622] – Missing JMS jar does not log an event
  • [MIRTH-623] – Use a sequence id to order configurations in descending order
  • [MIRTH-628] – JDBC Receiver launch an error if ths synchronous check is not selected
  • [MIRTH-633] – Change ID column on User to work with PostgreSQL 8.3
  • [MIRTH-634] – Latest configuration should be retrieved based on sequence id rather than date created
  • [MIRTH-637] – Fixed null pointer errors when synchronization is off
  • [MIRTH-638] – SFTP Reader does not run postprocessor when batch processing is off
  • [MIRTH-641] – Mirth cannot properly store HL7 fields containing linefeed characters (0×0a)
  • [MIRTH-642] – Mirth does not properly parse HL7 fields containing linefeeds (0xa) when "Process Batch" is enabled.
  • [MIRTH-644] – ORU files with file & batch headers cause transformer error in file reader source connector
  • [MIRTH-646] – Execute permissions not set correctly under Linux install
  • [MIRTH-647] – Database Writer error with blank password
  • [MIRTH-648] – Setting Delete File After Read to Yes on FTP/SFTP/File disables Polling Time
  • [MIRTH-650] – When the db reader fails to execute the query for SQL server, it logs events infinitely
  • [MIRTH-655] – X12 Properties cannot be loaded
  • [MIRTH-658] – When the polling time (daily) is selected at the DB reader, the action is executed twice a day
  • [MIRTH-661] – Make sure connection status monitoring clears on deploy
  • [MIRTH-665] – Last line of javascript cannot be a comment.
  • [MIRTH-668] – Some connectors incorrectly state that properties have been changed.
  • [MIRTH-672] – Channels cannot deploy if queuing is on a disabled destination.
  • [MIRTH-679] – Mirth fails processing big DICOM images
  • [MIRTH-680] – DICOM parse errors aren't detected
  • [MIRTH-681] – All step/rule name generation uses the HL7 vocab.
  • [MIRTH-686] – Dashboard status panel column width adjustment
  • [MIRTH-687] – Can't change connector type in new channel destination
  • [MIRTH-688] – Concurrent Modification Exception
  • [MIRTH-689] – Exception Deploying Channel when transactional endpoints are activated
  • [MIRTH-690] – Bad UI behavior when editing Javascript
  • [MIRTH-691] – Error Deploying valid channels
  • [MIRTH-698] – Certains characters (&, <, ?, etc) are not allowed for user information at SOAP sender
  • [MIRTH-699] – X12 delimiter recognition fails when newlines are EOS char
  • [MIRTH-701] – Make different contexts for http vs https
  • [MIRTH-702] – Mirth fails to save the message state when a variable (channel val) has a null value
  • [MIRTH-703] – X12 parsing fails when EOL character is segment delimiter on Mac OS X
  • [MIRTH-708] – Autogenerated Template for DB Reader is not cleared when type changed
  • [MIRTH-711] – MIrth uses 30% cpu when idle (File Reader)
  • [MIRTH-714] – X12 parser incorrectly parses adjacent empty elements as a repetition
  • [MIRTH-715] – New HL7 Vocab lookup is not based on version – always uses 2.5
  • [MIRTH-716] – Errors with the Dashboard/Message Browser
  • [MIRTH-717] – Find/Replace doesn't work if you leave it open and move around the UI.
  • [MIRTH-719] – String substitution on mapper fields with no data causes error – Cannot find function replaceAll().
  • [MIRTH-720] – Unable to use right-click to paste template in inbound or outbound transformer template
  • [MIRTH-721] – Problem parsing XML HL7 valid message
  • [MIRTH-725] – Compress WebService Defiition in SOAP Channel
  • [MIRTH-727] – Disable creation of velocity.log file
  • [MIRTH-731] – Add strict validation property to client for NCPDP Protocol
  • [MIRTH-736] – Linux java wrapper version does not match the Windows version or wrapper.jar

General Note

  • [MIRTH-581] – Make attachment viewer plugin based on message browser
  • [MIRTH-582] – Create function on preprocessor to add attachment to message

Improvement

  • [MIRTH-174] – Add a Last Login field for User
  • [MIRTH-412] – Disable weak SSL ciphers in Jetty server
  • [MIRTH-440] – Changing channel protocol or properties should prompt for channel-wide change
  • [MIRTH-482] – Make repository list only show extensions that are not installed
  • [MIRTH-485] – Make webstart page generate random jnlp key
  • [MIRTH-505] – Make sure respond-from parsing checks all scripts
  • [MIRTH-528] – Mirth should give useful error messages for invalid or non-existant conf properties, rather than null pointer exceptions.
  • [MIRTH-536] – Mirth Manager needs to wait to say the service is started until Jetty is actually started
  • [MIRTH-544] – The HTTP dispatcher should get info from the HTTP headers
  • [MIRTH-545] – Overwrite channel when importing
  • [MIRTH-546] – Filter Messages by Date and Time
  • [MIRTH-562] – Add "exists" option to graphical rule to check if a particular field exists
  • [MIRTH-567] – Make the "Filename filter pattern" support a delimeted list, if it doesn't already. If so, please confirm
  • [MIRTH-570] – Add the revision code for a channel on the summary page, primarily so that developers working on the same channel can make sure that they are on the same version of the channel.
  • [MIRTH-574] – Create URL form patterhs on all URL based reader/writers
  • [MIRTH-576] – After cloning a channel, on setting the new name for the channel, if the channel name does not meet requirements, the name entered is wiped out.
  • [MIRTH-596] – Change FTP "output pattern" to "Filename"
  • [MIRTH-597] – Change File Writer "Directory" to "Path"
  • [MIRTH-599] – Continue adding DICOM file picker to incoming message template
  • [MIRTH-600] – Update client and server max memory settings
  • [MIRTH-604] – Move all servlets to be under a configurable path.
  • [MIRTH-608] – Change "Mirth Version" number of plugins.
  • [MIRTH-609] – Add ability to scroll lock and clear Dashboard Status Panel table
  • [MIRTH-614] – Add "ignore Ack" option to LLP Sender
  • [MIRTH-615] – Make Message Router available in PreProcessor Script
  • [MIRTH-616] – Improve Synchronization with ACK UI
  • [MIRTH-620] – Auto Verify all JavaScript when Deploying All
  • [MIRTH-627] – Improve pass-through routing performance
  • [MIRTH-630] – Mirth Administrator min window size too large for small form factor devices…
  • [MIRTH-631] – Add "does not exist" to Filter Builder
  • [MIRTH-632] – Combine filter and transformer scripts
  • [MIRTH-635] – Add multi-threading to Manager so it doesn't hang when starting the service
  • [MIRTH-640] – Improve the HL7 tree for non-strict parser by including full vocabulary
  • [MIRTH-649] – Make split pane on dashboard collapse-able
  • [MIRTH-651] – Improve handling of carriage returns and line feeds throughout Mirth
  • [MIRTH-662] – Please add channel column to table when no item is selected for dashboard connection monitoring so u know what channel it came from
  • [MIRTH-666] – Turn batch processing to OFF by default
  • [MIRTH-676] – When dragging from list of segments such as OBX, it should insert the offset for you
  • [MIRTH-678] – Process response as HL7 ACK
  • [MIRTH-685] – Channel Transformer – Show detailed mapping
  • [MIRTH-692] – Allow use of external css files for PDF output
  • [MIRTH-693] – Allow the use of channel variables in the output dir for DocumentWriter
  • [MIRTH-694] – Allow the use of channel variables for the output dir in the FileWriter destination
  • [MIRTH-706] – Installing a plugin/connector should detect if the user has selected Connector and the zip contains a Plugin and vice versa
  • [MIRTH-707] – Add option to exclude headers on http
  • [MIRTH-723] – Opening Find/Replace dialog in text area should pre-populate Find field with currently selected text

New Feature

  • [MIRTH-177] – Add Last Changed column to channel
  • [MIRTH-417] – Add ability to expand all nodes in template
  • [MIRTH-424] – Add description to message builder step list so you know what the mappings actually mean
  • [MIRTH-526] – Allow overwriting or "upgrading" a channel on import.
  • [MIRTH-529] – Shell error handling improvements
  • [MIRTH-540] – Access "ORIGINALFILENAME" in preprocessor
  • [MIRTH-543] – Add "Validate Script" anywhere use Javascript
  • [MIRTH-553] – Update Event Browser to allow paging.
  • [MIRTH-555] – Make filters use the plugin framework for the rules
  • [MIRTH-556] – Create a graphical rule as a filter plugin
  • [MIRTH-557] – Expand drag and drop feature in transformer to simplify tedious mappings
  • [MIRTH-565] – Validate Javascript when validating connectors.
  • [MIRTH-568] – Add to the shell the ability to rename an existing channel so you don't have to export and import to make this kind of change
  • [MIRTH-569] – Search function into transformers
  • [MIRTH-573] – Allow searching by message content on the message browser
  • [MIRTH-589] – Add importing and exporting of global scripts.
  • [MIRTH-590] – Connection Monitoring for Dashboard
  • [MIRTH-591] – Add support for DICOM
  • [MIRTH-592] – Add CSS support to Document Writer
  • [MIRTH-593] – Javascript Reader and Writer
  • [MIRTH-595] – Include Mirth ANT Tasks
  • [MIRTH-598] – Add "Map Node" and "Iterate over node" function to transformer trees
  • [MIRTH-605] – Create advanced search properties for message browser.
  • [MIRTH-619] – Add Move-to Error Directory
  • [MIRTH-629] – Automatic retry of LLP messages for ACK timeouts
  • [MIRTH-639] – Create function to access attachments from Filter, Transformer and Postprocessor
  • [MIRTH-652] – Add ability to show line-endings on text editors
  • [MIRTH-653] – Add support for SOAP Headers in soap sender
  • [MIRTH-654] – Add a PDF Viewer as a Message Browser viewer attachment.
  • [MIRTH-659] – Create JS Function that allows insertion of new segments anywhere
  • [MIRTH-667] – Add ability to "lock" soap envelope.
  • [MIRTH-684] – Create JS function to initialize JDBC driver
  • [MIRTH-695] – Add binary file support to TCP Receiver/TCP Sender
  • [MIRTH-700] – Process binary files as a message from the "Send Message" dialog.
  • [MIRTH-712] – Add RTF and image viewer plugins

Task

  • [MIRTH-550] – Connection to Filemaker
  • [MIRTH-705] – Check auto xml-serialized format conversion for all types due to new JS perf changes