Unity UAI Server Installation and Configuration

From Galen Healthcare Solutions - Allscripts TouchWorks EHR Wiki
Jump to: navigation, search

Summary

Allscripts provides a mechanism known as "Unity" or "UAI" for external products and devices, such as Allscripts Remote and vital signs monitors, to connect to an Enterprise EHR environment. This document covers the installation and configuration of the server-side components of Unity/UAI.

Target Audience: Systems and Network Administrators of Enterprise EHR servers

This is advanced technical documentation. Do not perform these steps on production servers during business hours. Always evaluate server changes in a test environment prior to making changes to production servers. Contact your Allscripts support representative or Galen technician if you are uncomfortable with this material.

Background

There are 2 necessary components for Unity/UAI:

  • Server installer, which is run on the Enterprise EHR web server(s)
  • Client installer, also known as UAI DesktopAgent, which is installed on end user PCs or terminal servers
    • Alternative clients: Allscripts Wand (iPad), Allscripts Remote (iPhone/Android), Unity or UAI compliant third party applications

Allscripts provides access to Unity installers and documentation at https://clientconnect.allscripts.com. Please create a ClientConnect account if you have not already.

Installation

Installation of the Unity server components is straightforward. The Unity server installer will need to be run on each web server in an Enterprise EHR environment.

The Unity server installer can be downloaded from: https://clientconnect.allscripts.com/docs/DOC-9978

To install the Unity server components, follow the Allscripts documentation at: https://clientconnect.allscripts.com/docs/DOC-9979

Configuration

In most situations, the Unity server installer will handle all necessary configuration. However, in some instances it has been found necessary to review and correct the IIS (Internet Information Services) settings on the web servers, particularly if the web servers have been cloned. The detailed IIS settings can be found below.

Ensure that you have thoroughly tested all functionality of the external applications which are using Unity/UAI, especially after Unity/UAI server updates have been applied, and also during Enterprise EHR upgrade projects. Successfully completing the above installation documentation does not guarantee that all aspects of the external application will properly function.

The below IIS configuration was written for IIS 7/Server 2008, however it should also apply for IIS 6/Server 2003.

  1. IIS Manager > Default Web Site > Authentication Settings
    • Make sure that Anonymous Authentication is Enabled and NOT using a named service account (IUSR)
    • Make sure that all other authentication methods are Disabled
  2. IIS Manager > Default Web Site > CMSV4 > Authentication Settings
    • Enable Anonymous Authentication and ASP.NET Impersonation
    • Under Anonymous Authentication, choose specific user, and enter service account credentials
    • Under ASP.NET Impersonation, choose specific user, and enter service account credentials
  3. IIS Manager > Application Pools > CobraAppPool
    • Make sure CobraAppPool is set to Classic managed pipeline mode
    • Make sure CobraAppPool is running with the service account as its Identity (Advanced Settings)
  4. IIS Manager > Default Web Site > ScanWeb > Authentication Settings
    • Enable Anonymous Authentication
    • Under Anonymous Authentication, choose specific user, and enter service account credentials
  5. IIS Manager > Default Web Site > TRXWeb > Authentication Settings
    • Enable Anonymous Authentication
    • Under Anonymous Authentication, choose specific user, and enter service account credentials
  6. IIS Manager > Default Web Site > UAIDesktopAgent > Authentication Settings
    • Enable Anonymous Authentication and ASP.NET Impersonation
  7. IIS Manager > Default Web Site > UAIWebService > Authentication Settings
    • Enable ASP.NET Impersonation
    • Under ASP.NET Impersonation, choose specific user, and enter service account credentials
  8. IIS Manager > Default Web Site > UAIWebService > Application Settings
    • Make sure CEDURL is pointing to your local web server not to a load balancer.
    • Make sure Connection string has the correct DB server
    • Make sure that ScanSQLConn is pointed to the right DB server and Catalog
    • Check to make sure C:\temp\UAI exists on that server, create it if it does not exist.
  9. IIS Manager > Default Web Site > UAIWebService > v2.0
    • Repeat steps 7 and 8 above on the v2.0 virtual directory
    • Note, you may have issues as there often is a malformed line in web.config. In those cases just go to the web.config file at C:\Program Files\Allscripts Healthcare Solutions\UAI\UAIWebService\v2.0\ to check for ced, db and scansql settings
  10. Go to C:\windows\system32\inetsrv\config and open applicationHost.config
    • In the "system.webServer" configuration section, look for the "httpErrors" setting. The overrideModeDefault should be set to Allow. If this is set to Deny, it will prevent Unity from displaying clean error messages.
  11. IIS Manager > Application Pools
    • Restart the CMSV4 Pool, CobraAppPool, TRXWeb Pool, UAIAppPool, UnityAppPool

Special Considerations

Cloning Enterprise EHR Web Servers

Enterprise EHR web servers which have been virtualized and then cloned may lose some of their Unity and IIS settings.

If issues with logging into Enterprise EHR or Unity/UAI applications arise after an Enterprise EHR web server has been cloned, you will need to reinstall Unity from the Installation section above, then follow the Configuration steps above to ensure all necessary IIS settings are present.