[Requirement #10450] - Created a unified action model XML
 * Removed the actionmodels.xml file from the RIS client distribution which was hopelessly out of date in addition to being unused.
[Ticket #10527] - MWL should return a study instance UID that is stored in the RIS system

- add ProcedureStudyInstanceUid to the MwlWorklistItem
[Requirement #10439] - The system shall generate audit logs recording all viewing and modification of patient data

Added one more constraint to which change-set actions get included, which is that we only include actions of type "Update", the argument being that there is no need to capture the fields in a "Create" action because the current state of the database reflects the initial state of the entity unless an update was made.
[Requirement #10439] - The system shall generate audit logs recording all viewing and modification of patient data

Modified the AuditAdvice class so that it can audit Read Operations in addition to Write Operations.
 * There are now AuditAdvice.Inner and AuditAdvice.Outer classes, both of which must be inserted in the correct location in the interception chain.

Added recorders for the following operations:
 * LoadPatientProfileForEdit
 * SearchWorklists (on all workflow services)
 * GetOrderRequisitionForEdit
 * PatientProfileTextQuery
 * PrintReport
[Requirement #10439] - The system shall generate audit logs recording all viewing and modification of patient data

Added some client-side auditing for certain operations that don't really have a server-side equivalent: viewing a folder item preview page, and opening a document workspace.

 * added a RIS AuditHelper class.
 * added a Document.GetAuditData virtual method, called when a document is first opened, to capture the audit data.
 * added a IFolderSystem.GetPreviewAuditData method, called whenever a folder item is previewed, to capture the audit data.
 * some refactoring of the PatientBiographyDocument was required, in order to have sufficient information available to generate an audit message.
 * fixed an issue with FolderContentsComponent where the selection wasn't being cleared when the selected folder changed, which was causing extraneous audit messages to be logged.
Merge
[Requirement #10433] - The Report Editor will allow the radiologist to modify the priority of the Order
 * Validation icons are now reset on the report editor after moving to the next report.
[Requirement #10416] - The RIS will be integrated into the Team Edition workstation

 * Modified RemoteServiceProviderBase so that if a user credentials provider class name is not specified, it instantiates the DefaultUserCredentialsProvider class, instead of leaving it null.  There is no harm in instantiating a default class - at worst, it just won't be used.
 * Modified the RisServiceProvider so that it no longer obtains credentials from the LoginSession, but rather inherits the default behaviour of its base class, which is to obtain credentials from the thread current principal.  This allows the RisServiceProvider to function even if the LoginSession hasn't been established.
 * Reviewed all code for uses of LoginSession.WorkingFacility, and found that for the most part the code makes reasonable assumptions about whether this field will have a null value, and so no changes are necessary (with the exception of one change to LoginFacilityProvider).
[Requirement #10439] - The system shall generate audit logs recording all viewing and modification of patient data

Separated the worklist and patient profiles searches into two different operations.
[Requirement #10423] - A default set of authority groups will be provided at install time

Modified the AuthorityGroupSummaryComponent so that the Import button imports *only* tokens, not groups.  The problem with importing groups is that the user may have already taken a lot of care in configuring their groups, and importing the default groups clobbers everything.

 * all localized a message while I was here.
[Requirement #10450] - Created a unified action model XML
 * Added a dev tool for visualizing and updating all action models known to the application.
  * Available only in debug builds.
[Requirement #10423] - A default set of authority groups will be provided at install time

Repaired the AuthorityGroupImex class, which had not been maintained when fields were added to the AuthorityGroup entity with the introduction of "Data Groups".
[Requirement #10258] - The workstation shall include a Simple Order Entry screen, launched from calendar view

Set the AcceptButton and CancelButton properties, so that pressing ESC will exit the dialog.
Merge
[Requirement #10522] - User can check in a procedure from the calendar
[Requirement #10523] - User can cancel an order from the calendar

Added access to these functions via the calendar.
 * Some refactoring of the Order Check-in and Order Cancel components was necessary to make this work.
 * Added a Properties dictionary to IEvent, so that arbitrary event-specific properties can be included.
 * Procedure Events now include an OrderRef in the properties dictionary, which is needed for both Check-in and Cancel operations.

 * TODO: set appropriate icons.
[Requirement #10411] - Radiology Reports will be published to the ImageServer

Fixed an issue where the following exception would be thrown when shutting down the shred host:
"Unexpected exception stopping shred (shred still running): Publication
System.CannotUnloadAppDomainException: error while unloading appdomain"

It was caused because the HTTP Print server was not being shutdown, hence a thread was still active when the app domain was unloaded.  Refactored code so that the HTTP Print server is started and stopped with each print job, rather than running continuously, to minimize chances of this error happening.
[Requirement #10470] - Re-evaluate ImageViewer authority tokens and authority groups
- Removed all the old disabled DefineAuthorityGroups objects.
- Shuffled some authority tokens around post-Marmot.
- Made sure when Viewer/Visible is not granted, the user sees no viewer components or tools. Had to hide the Activity Monitor, System Configuration and Re-index menu items, as well as Tools/Customize/Tools.
- Made sure when System Configuration is launched via Activity Monitor that an appropriate message is shown if there are no pages accessible.
[Requirement #10470] - Re-evaluate ImageViewer authority tokens and authority groups
- Added authority token for viewing the Activity Monitor
- Added authority tokens for Stop/Restart/Delete/Prioritize Work Items.
Merge
[Requirement #10519] - RIS server shredhost unable to start as service due to timeout
 * The shred host service now tries to request additional time for the service to complete startup and shutdown tasks.
  * We have seen instances where the shred startup/shutdown has taken enough time to exceed the timeout, throwing spurious errors.