HealthShare Personal Community Workbench Messaging Setup Guide
1. Overview
Messages can be routed between the Personal Community public application and the Workbench; members send messages to providers, and providers read and respond using the Workbench
2. Workbench Messaging Setup
2.1. Enabling Messages in the Workbench
-
Lo g into the Workbench as a user with the
Configuration Manager
role. -
Go to the Configuration Application page ( Setup > Configuration Application ) and select the Feature Control tab. In the activity pane, select Configure Messaging .
-
Select Edit Mode to make edits to the fields described in the following steps.
-
To the right of the Messaging box, ensure that the Enable checkbox is selected.
-
Once the Configure Messaging section is expanded, select from the current settings:
-
-
Allow patient to send messages
- allows messaging functionality for members. Once selected, you must choose at least one of the following message types:
- Medical Question - allows members to send a message specifically labeled as a "medical question".
- General Question - allows members to send a message specifically labeled as a "general question".
- Billing Question - allows members to send a message specifically labeled as a "billing question".
- Allow patient to send replies - allows members to reply back to a message sent by a provider.
-
Allow patient to send messages
- allows messaging functionality for members. Once selected, you must choose at least one of the following message types:
- After you have finished, select Submit at the bottom of the page to save your changes.
2.2. Configuring a Message Flow
Each clinical group may have a message flow for each supported message type. This enables them to process each of the various message types separately. To use these message flows, you must explicitly enable them.
2.2.1. Prerequisites to Setting up a Message Flow
To start, make sure you have all the requisite components:
-
Add an organization .
-
Add a clinical group . Make it part of the organization and enable messaging for it; these tasks involve the Organization and Messaging Enabled fields, respectively.
-
Add providers . Add these providers to their respective clinical groups. This involves modifying the providers using the Add provider to group button.
For message flows with the Workbench, complete the following additional steps:
2.2.2. Setting up the Message Flow
To tie a message flow to a clinical group, complete the following steps:
-
Log into the Workbench as a user with the Provider Manager role.
-
Go to the Setup tab.
-
In the activity pane, choose Clinical Groups .
-
On the Clinical Groups page, select the group that is using the flow. This displays the Clinical Group Details page for the group.
-
On the Group Details page, near the bottom of the page, select Create message flow . This displays the Create Flow page.
-
On the Create Flow page:
-
In the Message Type list, choose the type of message that the flow uses (or All for all of them).
-
In the Delivery Interface list, choose the delivery interface that Personal Community uses to provide the message to the external system. To handle messages using mechanisms entirely within Personal Community, select Workbench Task . To handle messages externally, select the name of the delivery interface to use. Choosing an interface may display additional options.
-
Select the Active check box for the flow to operate with the clinical group.
-
Complete any other choices that the page displays because of the selected delivery interface. For example, if you are setting up a Workbench task, the page displays the Workflow Group list; from that list, select the workflow group that is associated with the message flow.
-
Choose Save to create the flow and save the settings for it.
-
If you have configured this flow for messaging with the Workbench, log in to the Workbench as a user with the Task Processing role; go to the Tasks tab; and assign agents to the workflow group
Patients can now communicate with the provider for the supported message types.
2.3. Customizing the Results of Member's Searches for Providers
One of the first steps for members who want to send their provider a message is to search for those providers. You may want to implement a filter to limit the providers returned in this search.
2.3.1. Creating the Search Filter Class
To implement a search filter that will exclude certain providers from being available to members for messaging:
-
Create a new class that extends HSPortal.Messaging.Settings.FilterInterface .
-
Implement the ShouldExcludeRecipientFromResults() method. This method loops through all available providers and must return 1 for each recipient you want to exclude and 0 for each recipient you want to include.
The filtering criteria include:
-
AcceptsAttachments - Boolean flag.
-
ClinicalGroupAddress - Address object of type HSPortal.API.Datagram.Providers.Address .
-
ClinicalGroupRecipientID - ID of the Recipient object for the clinical group.
-
ClinicalGroupID - ID of the ClinicalGroup object.
-
ClinicalGroupName - Name of the clinical group.
-
RecipientID - ID of the Recipient object for the provider at the clinical group.
-
ProviderID - ID of the Provider object.
-
ProviderTitle - Title of the provider.
-
ProviderSuffix - Suffix for the provider.
-
FirstName - First name of the provider.
-
LastName - Last name of the provider.
-
Specialties - List of specialty names.
-
Favorite - Boolean flag to indicate if the provider is a favorite of the member doing the search.
For example, if you wanted to exclude from a messaging search all providers from the “Physicians Group, Inc.” clinical group, the filtering code in your implementation of the method might look like this:
Set pStatus = $$$OK Set tExclude = 0 If (pRecipient.ClinicalGroupName = "Physicians Group, Inc.") { Set tExclude = 1 } Quit tExclude
IMPORTANT
If you need to perform an expensive call to retrieve member-specific information, such as retrieving the providers in the member’s care team, you can use the InitializeRecipientFilter() method once in the initialization method. Then, you can add the relevant set of recipients to a local property so that each call to ShouldExcludeRecipientFromResults() can simply look up the provider locally. If you use the method, your code must call ##super() ; see the class documentation for InitializeRecipientFilter() .
-
- Compile your class.
2.3.2. Enabling the Search Filter in the Workbench
After creating your search filter, you must change a configuration setting in the Workbench to enable it.
To enable provider search filtering:
-
Log in to the Workbench as a user with the Configuration Manager role.
-
Go to the Site Configuration Settings page ( Setup > Site Configuration ).
-
Change the value of the Provider search filter class setting to the name of your custom class.
-
Select Apply .