Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Enable/Disable channels (Disabled = cannot start channel).
    Channels that are disabled are indicated with a strike-through font and cannot be started by a user. This removes any ambiguity for a service user as to whether the channel is meant to be running, or not.
     

  2. Channel Tags

    Channel tags provide a way of "tagging", or classifying channels with common attributes similar to the way articles can be tagged within a blog. For instance, a set of channels in the system may have tags such as "FFT", or "VIP".
    1. Create Tags
    2. Add Tags to all Channels in a Tab (right-click on Tab)
    3. Add Tags to selected channels using Manage Channels window
    4. Search by tags in the Manage Channels window
    5. Display Tag abbreviations in channel
    6. Search by tags in Channel Search (use the syntax ~TAGABBR or ~TAGNAME (example: ~FFT). You can still search without the tilde, but you'll get results from all non-tag matches as well.
    7. Filter by tags in the Dashboard


    8. ** Remove channel tags - 'production channel' will need to be re-implemented as a tag **

  3. Tab Markers
    Add colorization to a Tab to give a visual indication of its purpose, or importance.



  4. Multi-Map Tables

  5. System Globals
    System Globals allow users to define properties, passwords, tables, Custom Code, and connection strings at a global level that are available to a subset of channels within the system. With exception of Global Code, global elements are defined at the Tab, Group, or System level and are available to any channel that falls under the hierarchy. So a Tab setting is available to any Channel under that Tab, and a Group setting is available to any Channel that lives under the Group. System settings are available to any Channel in the system.  


    1. Global Properties
      In most text-based controls, type '{system.' or '{group.' or '{tab.' to trigger the globals insertion routine.



      Use the down arrow to choose the global you wish to use. The global will highlight grey and when hovered display details. Click the magnifying glass icon on the popup to edit the global value.



      Note that globals have locks.



    2. Global Code 
      1. A single custom code assembly that can be used in other Custom Code based devices.


      2. Add a reference to the global code by clicking on the globe icon (in the center toolbar) and selecting the 'Include global reference'.
      3. Access this from any Custom Code based device
    3. Global Passwords
      1. Access global passwords within devices


    4. Global Tables
    5. Global Database Connection Strings
      1. Create Connection strings that can be used devices in the system
      2. Add within Devices that support the standard Database Edit Control
    6. Globals can be imported and exported.

  6. Execution Groups


  7. Queue Device Improvements
    1. Support for MSH-4 (Sending Facility) in the Queue


    2. New Error Queue Workflow


      1. Error count shows up regardless of age
      2. Messages can be "Shelved" which moves them out of the Error queue
      3. "Shelved messages" can be queried


    3. Errors for all time ('Error Total') show under a new item: ET. This only shows when E and ET are different. So E = Errors Today, and ET = Error Total (all time). ET only shows up when E != ET.


  8. Improved HL7 Inbound Device
    1. Performance improvements
    2. Reduced memory footprint
    3. Ipv6 support
    4. Diagnostics tab to display available network adapters


  9. User Management Dashboard


    1. Display Connection time, Idle time, and connected IP address
    2. Ability to force unlock channels
    3. Ability to send messages to other users
    4. Ability to force logoff other users UIs.

  10. Improved Manage Custom Plugins Window


  11. File Reader Device - Support for reading Compressed files 


  12. Improved server screen
    1. Turn the server screen into a tree to allow grouping. Also use grouping in the server drop-down and display more server information to make it more obvious who each server is. Show the currently connected server in green.
    2. Import / export servers list

  13. Auto-logout of Connexion / RIM
    After period of inactivity both Connexion Client and the Gateway Management UI will log out for security purposes.


  14. Message viewer obfuscation.
    Hides message data that potentially contains PHI displayed on the screen


  15. Custom Code Device - C# 7.0 and Roslyn compiler support
    1. Reimplemented the underling underlying internal compiler class to take advantage of the Rosyln compiler
    2. Support for .NET 4.7.1

  16. Message watermarking
    1. Provide a mechanism to 'stamp' a message at its origin / ingestion point and then validate that stamp at the ultimate destination. For example, in the integrator framework it may make sense to stamp all ingestion channels with a customer ID / constant. Then immediately before ingestion into the datacenter systems, validate the expected customer ID / constant is present.
    2. Step one is to create the watermark. This is done on the first queue in the message flow by navigating to the settings / watermark tab and then setting the action to 'set'. At this point you can choose to append a constant value (like a customer id) to the existing sending facility, or provide a brand new sending facility value. By default, we preserve the sending facility field so that it can be queried in the queue worklist.


    3. Step two is to navigate to the final queue in the final channel of the workflow, navigate to the settings / watermark tab, and select the 'Verify' option. You then enter one or more values that you'll accept. There are two syntaxes which are supported. To check for a fixed value, simply enter it into the 'match list'. To accept any sending facility value followed by a constant, use the syntax -{WhateverYouEntered}.
    4. Messages which fail verification are moved to the error queue.
    5. If you require more advanced functionality, we've provided two event hooks:



  17.  IMessageContext.UserStorage
    1. Provide persistent (and transient) user storage that belongs to the message
    2. Persistent objects are serialized as JSON and stored as part of the message attachments
    3. Unlike the UserContext, persisted objects survive across Queue boundaries

  18. User Storage / File Writer
    1. An improved 'user context' storage area which has the ability to persist values of any (serializable) type. The user context is now deprecated in favor of 'Context.UserStorage'. Add your object to the user storage using the following syntax. Please note the parameter to specify whether or not this will be persisted. Also note that your object must be serializable. We recommend the use of the DataContract and DataMember attributes in the System.Runtime.Serialization namespace.


    2. View the user storage objects in the Attachments pane within the queue:


    3. Consume your user storage objects within a custom code device using the UserStorage.Get<targettype>(Key). We are also investigating exposing the user storage within built-in devices which currently expose the user context. The File Writer now allows the use of UserStorage where UserContext is supported. We've also expanded upon the UserContext to allow the direct access of object values using JPath syntax:
  19. Quick Navigation
    1. Use ctrl + tab key combination to bring up a window showing recently visited channels, as well as system pages. While holding down the control key, use the tab key, arrow keys, or mouse to navigate to a different view. Views are After using the quick view window, the results are stored so that the list is available on subsequent UI restarts.
  20. Queue Device Caching
    • The standard sql-based queue now implements an input cache. Where possible, the queue will now cache received messages in memory instead of retrieving the message(s) from the database. If the queue is in a sleep state, it will wake up upon receiving a message and immediately push this message down the channel. This has two benefits:
      1. Fewer queries to the database and potentially lower network traffic.
      2. Less time waiting for a message to process on low volume queues (or during periods of infrequent messages).
    • This feature does not work with branched messages or message arriving from a secure sender device (the previous default behavior applies).
    • This feature can be disabled in the queue configuration ("Disable Message Caching").
  21. Copy / Paste device - the ability to copy an entire device and paste into other channels
    1. Image Added
  22. Miscellaneous
    1. Upgrade all dependant libraries
    2. Add Edifact libarary EDI messages types
    3. Re-implement all installers so we can better handle .NET Standard libaries and to fix issues with interdependent libaries
    4. Support for Mongo Queue Db statistics within Connexion
    5. Update all projects except Connexion.Core and Connexion.Share to .NET 4.6.1
    6. Improve locking and thread usage during Connexion channel startup
    7.  Fixed thread contention issue when stopping many devices at the same time
    8. Move Connexion.ErrorNumberManager to Visual Studio 2017
    9. Various updates to better handle readonly access to UI elements that have been disabled as a result of user access permissions
    10. Include channel lock information in the channel dashboard
    11. Save/restore channel running state (admin-mode, should it be exposed?)
    12. Client startup loading / speed.
    13. Improve loading of the HL7 transform v2.
    14. Dashboard can now be 'popped' so it can be displayed outside of the standard window.
    15. Addition of StartAsync / StopAsync methods.
    16. Ability for version 15 client connecting to a 14.5 server to attempt to launch the correct version of the client app (v15), and visa-versa.
    17. Add 'oldest queued message' to the dashboard.

Jira - Feature Requests

TicketFeature

CNXN-3096

Supply a way to search changes across all channels

CNXN-3097

Supply a way to get items in User Storage using jPath within File Writer

CNXN-2873

End to end data validation (Message Watermarking)

CNXN-3089Add ability to import/export a message (Message entity record)
CNXN-3039Improve startup performance
CNXN-3038Make version 15 map tables more compatible with version 14.5
CNXN-3032When using Edit & Requeue Selected Message the Keywords should be copied to the new message
CNXN-3028Secure Sender Device - Add Connection and Send timeout configuration options
CNXN-3026Add Network Interface info to System Information text
CNXN-3021Add Diagnostic Tab to HL7 Inbound Device
CNXN-3015Option to not require typing 'yes' into yes dialog
CNXN-3011Remove the cap on returned results in the advanced search UI
CNXN-3010Add the site name to the server drop-down list
CNXN-3009Allow the expand/collapse operation of treeviews on auto-disabled UIs.
CNXN-3006Ability to use {usercontext.X} in FileWriter Destination field
CNXN-3005Grouping Connexion Servers under "Server Connections" screen
CNXN-3000Export/Import Connections list 
CNXN-2999Filter by Tags in the Dashboard/Channel Mgr/Relevant UIs
CNXN-2998Add Total Row Count or Row Numbers to Dashboard
CNXN-2997Copy Device Key
CNXN-2996Need a way to moving in error messages to a different status
CNXN-2993Add menu item to copy device/channel key
CNXN-2991Connexion User Management Dashboard
CNXN-2990Authorization setting to close Connexion UI after configurable inactivity
CNXN-2987Enable/Disable Channels Feature
CNXN-2981Channel Import and Disabled Devices
CNXN-2979Add Device filter option in Manage Channels
CNXN-2970HL7 transform v2 function may not resolve properly when using an external type as a parameter
CNXN-2967Mechanism to save / apply channel running state across a system
CNXN-2966Channel - Log start/stop time of a channel
CNXN-2964Make GetDevices<T> more flexible with type matching
CNXN-2962Add option to explicitly disable message diffing
CNXN-2961add "Run Diagnostics" to File Writer Devices
CNXN-2953Remove filtering from file purge provider (too complicated / unnecessary)
CNXN-2951Add 'move to' and purging to FTP reader device
CNXN-2947Make the advanced search better by not making the channel name a link
CNXN-2946HL7 Core - Add a method to replace all repeating OBX-5(s) in the message with a full OBX segment
CNXN-2945Allow an extra digit in the queue alert timespans
CNXN-2942HL7 Core - Support for splitting/recombining segments using ADD segments
CNXN-2938Add events to Integrator Outbound (and Integrator Inbound?)
CNXN-2936Support reading from archives (file reader / ftp reader)
CNXN-2931Pretty print JSON message objects in queue preview window
CNXN-2928Import Configuration from Currently Loaded Channel
CNXN-2921Create Variable for Computer Name
CNXN-2910Queue column to show the sending facility (MSH-4)
CNXN-2908More flexibility around alerts generated by recoverable errors
CNXN-2853HL7DateTime.ToDTM - Add an overload that adds/removes the Timezone offset in the string
CNXN-2846Add option to remove empty lines created by razor engine (in Template device)
CNXN-2831Create Folder and Folder Icon for all manually entered paths
CNXN-2803Upgrade Connexion to support/use SQL Server 2016 Express LocalDB
CNXN-2757Upgrade connexion compiler to 'roslyn' to enable new language features
CNXN-2739Upgrade .NET library to .NET 4.6.2 to take advantage of new database and Xml support
CNXN-2622Multi-column map tables
CNXN-2615Implement Globals
CNXN-2521In rare cases where a device requires more than 60s to start/stop

...