Functional Summary
While an approved caregiver or provider is assessing a patient information in Epic Hyperspace, a launch point < insert actual name of location - action menu/more/tab > launches the Spacelabs SafeNSound application with patient and caregiver context.
FDI Record Setup Screen:
Model Record – Needs to be configured as OUTGOING COMMAND LINE, due to executable call on CRYPTCMD line (See line 9 below.)
Patient ID Type – Only important if using the PATID token (We are not.) Determines which patient ID is pulled into the token
Server name – Server listed in Category List FDI 240.
Application Launch and URL Parameters:
Application Launch configuration is on line 9.
- If using Citrix, the executable file needs to be installed on the Citrix servers.
- Encrypted payload is represented by the ‘%CRYPTSTR;;;;;;URL%’ token. The ‘;;;;;;URL’ part of the token encodes any URL restricted characters prior to sending the web request.
The Encrypted parameters are on line 1.
- SYSLOGIN token pulls in the current Epic user’s System Login from EMP 45. This should match the Active Directory username used to log into Epic.
- The CSN token pulls in the CSN/Visit ID for the current patient.
The Encryption Algorithm is configured on line 10.
- The Encryption key is configured by clicking the Modify Crypt Key button at the top of the configuration page.
The general process for encryption is:
- Derive a key using CRYPTKEY (Alphanumeric key known by Epic and 3rd party)
- Encrypt the data using the key using the specified algorithm
- Base-64 encode the encrypted data
- URL-encode the base-64 encoded encrypted data
For AES encryption, AES is used as the block cipher for a CBC encryption mode with PKCS5 padding. No Initialization Vector (IV) is used.
- The Browser Whitelist Editor button is used to add the URL to Epic’s whitelist. The format is:
<facility ID>.safensound.io
Launch Button Configuration
The Epic setup to create and assign function to the button is as follows:
- From Epic Text, make a copy of a PACS menu RIS_ITM_PACS_LINK_FORCE_PATIENT, and give it a descriptive name without special characters (SAFE N SOUND).
- Update the Caption, Display Caption, Toolbar Tooltip and Display Toolbar Tooltip. If a special icon is desired, update the Image parameter.
- Update the Run parameters item to ‘FORCE_PATIENT||<FDI Record Number>’, placing the actual FDI record number after the pipe characters.
- To allow only a certain facility to see the menu button, add a Filter Kind parameter of ‘Non Cached M Code’, with a value of ‘$$FilterSA^CLGEDI(“<EAF facility number>”) where the EAF ID of the allowed facility is populated. Set the Filter expression parameter to 1, the True effect parameter to Enable, and the False effect parameter to Hide.
- Update the Workflow Engine Rules (LOR) where the button should be placed. (Note: In order for the Patient CSN to be available to the integration record for Sky Lakes, the button had to be placed in the More Activities ‘Action Menu’.)
- Add the menu created in step 1 to all of the Activities menus where it needs to appear.
Launch SafeNSound from Epic with Single Sign on using Citrix
If the citrix connection cannot be terminated when switching users in EPIC then you can use CCMTerminateSafeNSound.exe to terminate the SafeNSound application specifically in Citrix session.
Client-Side Requirements:
CCM SDK API is a part of Citrix Workspace app for Windows installation package. Install Citrix Workspace app for Windows on the client device. Ensure that the CCMSDK.dll and CCMProxy.dll (for 32-bit machine) and CCMSDK64.dll and CCMProxy64.dll (for 64-bit machine) are present in the Citrix Workspace app for Windows installation folder.
If you are using Citrix Receiver for Windows Version 4.11 and later, install the Microsoft Visual 2017 C++ Redistributable Package using the following link:
For x86 machine: https://aka.ms/vs/15/release/vc_redist.x86.exe
For x64 machine: https://aka.ms/vs/15/release/vc_redist.x64.exe
Server-Side Requirements:
CCM SDK requires an active ICA session between the client and the server.
CCMTerminateSafeNSound.exe workflow:
- Verify that the CCM sdk binaries are installed on the client (CCMProxy.dll and CCMSDK.dll).
- Load the CCMSDK.DLL from installation path. Here client can use Citrix Workspace app registry key to get the installation path of CCM SDK binaries.
- HKEY_LOCAL_MACHINE\Software\Citrix\Install\ICA Client\ InstallFolder is the registry path for Admin installation
- HKEY_CURRENT_USER\Software\Citrix\Install\ICA Client\ InstallFolder is the registry path for Non-Admin Installation
- Use LoadLibrary to load the CCMSDK.DLL.
- Use GetProcAddress to get the APIs and use accordingly.
- Use EnumerateApplications to list running applications
- If string “SafeNSound” found in name then terminate application
How to run:
On EPIC user switch run CCMTerminateSafeNSound.exe on the endpoint