HealthShare Personal Community Billing Setup Guide
1. Overview
You can configure Personal Community so that patients can:
- View and download their bills from Personal Community.
- Navigate to an online payment gateway from Personal Community.
- Pre-pay (or pre-authorize payment) for services. Patients can navigate to an online payment gateway directly from an appointment that allows this option.
Upon installation of Personal Community, you can configure athenahealth as your billing system. Other third-party billing systems require additional coding.
To enable billing system features, you must complete the following tasks:
- Securing Billing System Credentials
- Creating SSL/TLS Configurations for Billing Systems Data Requests
- Adding Service Registry Entries for the Billing System
- Adding a Business Operation for the Billing System
- Registering a Billing System in the Workbench
- Enabling Billing Activity
After you enable billing functionality, you can make the following modifications:
- Changing a Billing System Registration
- Disabling a Billing System Registration
- Re-enabling a Billing System Registration
- Deleting a Billing System Registration
- Disabling Billing Activity
2. Configuring athenahealth
2.1. Securing Billing System Credentials
Most billing systems will require any programmatic requests for statement data to be authenticated with a user name and password. These credentials must be stored both in Personal Community and Unified Care Record to keep them secure and to make them available to application code.
Securing Billing System Credentials On Your Personal Community Instance
-
Log into the Management Portal for Personal Community as a user with the
%EnsRole_Administrator
role and switch to the Personal Community namespace. -
Go to the Credentials page ( Interoperability > Configure > Credentials ).
-
In the right pane, select New , then select OK at the prompt.
-
Enter a name for the new set of credentials.
-
Enter the user name and password for the billing system.
-
Select Save .
Securing Billing System Credentials On the Unified Care Record
If you created a set of credentials for the billing system on your Personal Community instance, the administrator of your Unified Care Record must create a set of credentials on the Unified Care Record that is identical to the one you created.
2.2. Creating SSL/TLS Configurations for Billing Systems Data Requests
Creating an SSL/TLS Configuration On Your Personal Community Instance
To create an SSL/TLS configuration on your instance of Personal Community:
-
Log into the Management Portal for Personal Community as a user with the %EnsRole_Administrator and switch to the Personal Community namespace.
-
Go to the SSL/TLS Configurations page ( System Administration > Security > SSL/TLS Configurations ) and select Create New Configuration .
-
Enter a name of your choice for the configuration.
-
Make sure that the configuration is enabled: the Enabled checkbox should already be selected.
-
For Type , make sure that Client is selected.
-
For Server certificate verification , make sure that None is selected.
-
Select the Save button to save the new configuration.
Creating an SSL/TLS Configuration On the Unified Care Record
If you created an SSL/TLS configuration on your Personal Community instance, the administrator of your Unified Care Record must create an SSL/TLS configuration that is identical to the one you created.
2.3. Adding Service Registry Entries for the Billing System
Adding a Service Registry Entry for athenahealth Authentication
The Unified Care Record administrator should create a service registry entry for athenahealth authentication with the following parameter values:
-
Service Type : HTTP
-
Name : BillingAuth (or another descriptive name of your choice)
-
Host : The fully-qualified domain name of the authentication host for athenahealth (for example,
api.athenahealth.com
). -
SSL Configuration : The name of the SSL/TLS configuration created for the Unified Car Record in the previous step.
-
URL : Obtain this value from the application developer. The value should be prefixed with a forward slash (for example, /oauthpreview/token ).
-
HTTPCredentialsConfig : The name of the billing system credentials secured for the Unified Care Record.
Adding a Service Registry Entry for athenahealth API Requests
The Unified Care Record administrator should create a service registry entry for athenahealth API requests with the following parameter values:
-
Service Type : HTTP
-
Name : BillingAPI (or another descriptive name of your choice)
-
Host : The fully-qualified domain name of the authentication host for athenahealth (for example,
api.athenahealth.com
). -
SSL Configuration : The name of the configuration created in “ Creating an SSL/TLS Configuration on the Unified Care Record .”
-
URL : Obtain this value from the application developer. The value should be prefixed with a forward slash (for example, /preview1/1/patients ).
-
HTTPCredentialsConfig : The name of the billing system credentials secured for the Unified Care Record.
2.4. Adding a Business Operation for athenahealth
To add a business operation for the billing system:
-
Log into the Management Portal for Personal Community as a user with the
%EnsRole_Administrator
role or one with greater privileges. -
Add the business operation associated with the programmatic interface to the billing system:
-
In the Personal Community namespace, go to the Production Configuration page (from the Management Portal Home page, Interoperability > Configure > Production ).
-
On the Production Configuration page, under Operations , select the + icon to add a new business operation. This displays the Business Operation Wizard .
-
Select AthenaBillingOperation class in the Operation Class drop-down menu.
-
Select OK to add the business operation to your production.
-
2.5. Registering athenahealth in the Workbench
To register athenahealth in the Workbench:
-
Log into the Workbench as a user with the
Configuration Manager
role. -
Select the Billing Systems tab.
-
On the Billing Systems page, select Add Billing System . This displays the Billing System Details page .
-
On the Billing System Details page:
-
In the Name field, enter a name for the billing system. The name can contain spaces.
-
In the Description field, enter a description for the billing system.
-
In the Target Operation field, enter AthenaBillingOperation .
-
In the Payment URL field, enter the URL for the billing system’s payment portal. This field is optional: setting a value here will add a Pay Bill button that is visible to members.
-
Select Save .
-
In the Assigning Authorities box, add at least one assigning authority whose billing statements will be available for member viewing and payment via this billing system within Personal Community.
-
Select Save again.
-
2.6. Enabling Billing Activity
To enable billing in the Workbench:
-
Log 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.
- Select Edit Mode to make edits to the fields described in the following steps.
- In the Billing box, select the Enable Billing checkbox.
3. Configuring a Third-Party Billing System
Follow the steps below to allow patients to view and download bills, from a third-party billing system, in the Bills section of the public application.
If you choose to allow for patients to access an online payment gateway, you have two options:
- You can provide a general link that applies for all patients across all bill types. To do so, you will populate the Payment URL field during billing system registration in the Workbench.
- You can provide a specific link (which may be patient-dependent, bill-dependent, both, etc.) by customizing the PaymentURL parameter for each statement.
3.1. Creating the Business Operation
If you are using a billing system other than athenahealth:
-
In the appropriate namespace for your portal, create a class that extends the
HSPortal.Production.Operation.AbstractBillingOperation
class. - To allow Personal Community members to view a list of billing statements for a given patient, you must implement GetStatementList() .
-
If your team wants Personal Community members to be able to download their bills, you must implement GetStatement() , which obtains data for a given patient statement within the statement list and converts it to a binary stream.
Tip
An example implementation can be found in
HSPortal.Production.Operation.AthenaBillingOperation
. This implementation does the following:GetStatementList()
- Retrieves athenahealth login credentials from Interoperability, where the Workbench and Unified Care Record administrators saved them.
- With the login credentials, requests an access token from the athenahealth authentication endpoint specified in the Registry.
- Verifies that a patient ID, start date, and end date for the statement list are present.
- With the credentials for authentication and the access token for authorization, requests and returns a statement list for the given patient ID and date range from the athenahealth API endpoint specified in the Registry. The statement list includes for each statement the statement ID, the dollar amount of the statement, the date of the statement, and, if an HTTP URL is present for an online patient billing portal on the Billing System Details page, the URL.
GetStatement():
- Performs authentication and retrieves an access token as described above.
- Verifies that a patient ID and statement ID are present.
- With the credentials for authentication and the access token for authorization, retrieves and returns the given statement for the patient in PDF format.
- If your external billing system can generate and send payment urls through its API, you can optionally set the value of PaymentURL in this operation. You would not need to supply a value when registering the billing system in the Workbench.
- Compile the class.
- Save the name of this class. You will need to implement it as a business operation within a Personal Community
3.2. Securing Billing System Credentials
Most billing systems will require any programmatic requests for statement data to be authenticated with a user name and password. These credentials must be stored both in Personal Community and Unified Care Record to keep them secure and to make them available to application code.
Securing Billing System Credentials On Your Personal Community Instance
-
Log into the Management Portal for Personal Community as a user with the
%EnsRole_Administrator
role and switch to the Personal Community namespace. -
Go to the Credentials page ( Interoperability > Configure > Credentials ).
-
In the right pane, select New , then select OK at the prompt.
-
Enter a name for the new set of credentials.
-
Enter the user name and password for the billing system.
-
Select Save .
Securing Billing System Credentials On the Unified Care Record
If you created a set of credentials for the billing system on your Personal Community instance, the administrator of your Unified Care Record must create a set of credentials on the Unified Care Record that is identical to the one you created.
3.3. Creating SSL/TLS Configurations for Billing Systems Data Requests
Creating an SSL/TLS Configuration On Your Personal Community Instance
To create an SSL/TLS configuration on your instance of Personal Community:
-
Log into the Management Portal for Personal Community as a user with the %EnsRole_Administrator and switch to the Personal Community namespace.
-
Go to the SSL/TLS Configurations page ( System Administration > Security > SSL/TLS Configurations ) and select Create New Configuration .
-
Enter a name of your choice for the configuration.
-
Make sure that the configuration is enabled: the Enabled checkbox should already be selected.
-
For Type , make sure that Client is selected.
-
For Server certificate verification , make sure that None is selected.
-
Select the Save button to save the new configuration.
Creating an SSL/TLS Configuration On the Unified Care Record
If you created an SSL/TLS configuration on your Personal Community instance, the administrator of your Unified Care Record must create an SSL/TLS configuration that is identical to the one you created.
3.4. Adding Service Registry Entries for the Billing System
For each required service entry:
- Logon to the Management Portal as a user with the %HS_Administrator role.
- Select HealthShare from the main menu.
- Select the Unified Care Record Registry.
- Navigate to Registry Management > Service Registry .
-
Restrict the available services to
SOAP
endpoints by selectHTTP
from the Service Type drop down menu. -
Enter the following values for the fields:
- Name - Enter a name of your choice.
-
Service Type
- Select
HTTP
. - Host - Enter the fully-qualified domain name of the authentication host for your billing system.
- SSL Configuration - Enter t he name of the SSL/TLS configuration created for the Unified Car Record in the previous step.
- URL - Obtain this value from the application developer. The value should be prefixed with a forward slash (for example, /oauthpreview/token ).
- HTTPCredentialsConfig - The name of the billing system credentials secured for the Unified Care Record.
- Select Save .
3.5. Adding a Business Operation for the Billing System
To add a business operation for the billing system:
-
Log into the Management Portal for Personal Community as a user with the
%EnsRole_Administrator
role or one with greater privileges. -
Add the business operation associated with the programmatic interface to the billing system:
-
In the Personal Community namespace, go to the Production Configuration page (from the Management Portal Home page, Interoperability > Configure > Production ).
-
On the Production Configuration page, under Operations , select the + icon to add a new business operation. This displays the Business Operation Wizard .
-
In the Operation Class drop-down menu, select the name of the class created for your external billing system.
-
Select OK to add the business operation to your production.
-
3.6. Registering a Billing System in the Workbench
To register a billing system in the Workbench:
-
Log into the Workbench as a user with the
Configuration Manager
role. -
Select the Billing Systems tab.
-
On the Billing Systems page, select Add Billing System . This displays the Billing System Details page .
-
On the Billing System Details page:
-
In the Name field, enter a name for the billing system. The name can contain spaces.
-
In the Description field, enter a description for the billing system.
-
In the Target Operation field, enter the full name of the business operation you added in your production in the previous step.
-
In the Payment URL field, enter the URL for the billing system’s payment portal. This field is optional: setting a value here will add a Pay Bill button that is visible to members. If your billing payment system as a single universal URL, you should enter that URL into this field.
-
Select Save .
-
In the Assigning Authorities box, add at least one assigning authority whose billing statements will be available for member viewing and payment via this billing system within Personal Community.
-
Select Save again.
-
3.7. Enabling Billing Activity
To enable billing in the Workbench:
-
Log 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.
- Select Edit Mode to make edits to the fields described in the following steps.
- In the Billing box, select the Enable Billing checkbox.
4. Modifying a Billing System Registration
To modify a billing system registration:
-
Log into the Workbench as a user with the Configuration Manager role.
-
Select the Setup tab.
-
From the Setup tab’s menu choices, select Billing Systems . This displays the Billing Systems page.
-
On the Billing Systems page, select the row for the billing system you want to modify. This displays the Billing System Details page.
From the Billing System Details page, you can perform the following activities:
-
To change a billing system:
-
In the Name field, you can change the name under which this billing system will appear in the Workbench.
-
In the Description field, you can change the description for this billing system.
-
In the Target Operation field, you can change the name of the business operation that handles communications between Personal Community and the billing system.
-
In the Payment URL field, enter the universal URL for the billing system’s payment portal. This field is optional.
-
In the Assigning Authorities box, you can add or remove the assigning authorities whose bills can be viewed and paid via this billing system in Personal Community.
-
To save your changes, select Save .
-
-
To disable a billing system registration:
- Select the Disable button.
-
To re-enable a billing system registration:
- Select the Enable button.
-
To delete a billing system registration:
- Select the Delete button.
- When prompted, confirm that you wish to delete the billing system.
5. Enabling Pre-Payment of Services
You can allow patients to pre-pay for service, if your appointment system supports this.
Personal Community determines whether or not to display the Pay button next to a specific appointment based on whether the PaymentURL field is populated. If the PaymentLink field for an invoice is populated with a URL, the Pay button is present and the patient can click the button to be redirected to that URL. If it is not populated, the Pay button does not appear.
You can populate the PaymentLink field with one of the two following options:
- A fully qualified URL to the payment gateway.
-
A URL to an intermediate web page. This requires custom configuration. You can implement whatever additional logic or validation you desire, such as:
- time-based tokens
- error handling
-
displaying additional instructions to the patient
IMPORTANT
If you choose to implement an intermediate web page, make sure that it is secure and that parameters are encrypted.
You are responsible for implementing the logic that populates the PaymentLink field as well as clears it.
You must update the HS.Local.SDA3.AppointmentExtension , in both your Personal Community and Unified Care Record instances, to have the PaymentURL property. See the documentation for more information on this process. You must recompile the HS.SDA3.Appointment class in both the Unified Care Record and Personal Community.
6. Available Content Files
The following content files exist in the Bills tab of the public application, which you may wish to update:
Application Page |
Content File |
---|---|
Bills | content-bills |
6.1. Updating Page Content Related to Billing
To modify page content:
-
In the Workbench, enable the setting that displays the source file for each page’s content in the public application:
-
Log into the Workbench as a user with the
Configuration Manager
role. -
Go to the Site Configuration Settings page ( Setup > Site Configuration ).
-
In the Content Settings section, select Highlight Personal Community content .
-
Select Apply .
This is also known as enabling content highlighting or enabling the debug flag .
-
-
If there is not already a custom copy of the content file, copy the existing file from
<hspc-home>/base/content/en/
to
<hspc-home>/custom/content/en/
Note
If such a file already exists, do not create a new copy, as this may overwrite any customizations your organization has already made in it.
-
Edit the custom copy of the file as required for your organization.
Note
-
If this is a right to left language, the files should contain:
<html dir= "rtl" ></html> The customer would then put their content within the tags.
-
-
Refresh the content for your organization's site.
6.1.1. Refreshing Page Content
To refresh content:
-
Log into the Workbench as a user who has the
Configuration Manager
role. -
Go to the Content tab.
-
On the activity pane, select Content Updates . This displays the Content Updates page.
-
On the Content Updates page, choose Refresh Content .
This updates every aspect of each application to display the custom content, including text, images, and so on.
If changes are not visible after you refresh content, you may need to clear your browser cache.