Skip to main content

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

  1. Log into the Management Portal for Personal Community as a user with the  %EnsRole_Administrator  role and switch to the Personal Community namespace.

  2. Go to the  Credentials  page ( Interoperability   Configure  >  Credentials ).

  3. In the right pane, select  New , then select  OK  at the prompt.

  4. Enter a name for the new set of credentials.

  5. Enter the user name and password for the billing system.

  6. 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:

  1. Log into the Management Portal for Personal Community as a user with the  %EnsRole_Administrator  and switch to the Personal Community namespace.

  2. Go to the  SSL/TLS Configurations  page ( System Administration   Security   SSL/TLS Configurations ) and select  Create New Configuration .

  3. Enter a name of your choice for the configuration.

  4. Make sure that the configuration is enabled: the  Enabled  checkbox should already be selected.

  5. For  Type , make sure that  Client  is selected.

  6. For  Server certificate verification , make sure that  None  is selected.

  7. 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:

  1. Log into the Management Portal for Personal Community as a user with the  %EnsRole_Administrator  role or one with greater privileges.

  2. Add the business operation associated with the programmatic interface to the billing system:

    1. In the Personal Community namespace, go to the  Production Configuration  page (from the Management Portal Home page,  Interoperability   Configure  >  Production ).

    2. On the  Production Configuration  page, under  Operations , select the + icon to add a new business operation. This displays the  Business Operation Wizard .

    3. Select   AthenaBillingOperation class in the  Operation Class drop-down menu.

    4. Select  OK  to add the business operation to your production.

2.5. Registering athenahealth in the Workbench 

To register athenahealth in the Workbench:

  1. Log into the Workbench as a user with the  Configuration Manager   role.

  2. Select the  Billing Systems  tab.

  3. On the  Billing Systems  page, select   Add Billing System . This displays the  Billing System Details  page .

  4. On the  Billing System Details  page:

    1. In the   Name   field, enter a name for the billing system. The name can contain spaces.

    2. In the  Description  field, enter a description for the billing system.

    3. In the  Target Operation   field, enter AthenaBillingOperation .

    4. 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.

    5. Select  Save .

    6. 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.

    7. Select  Save  again.

2.6. Enabling Billing Activity

To enable billing in the Workbench:

  1. Log into the Workbench as a user with the  Configuration Manager  role.
  2. Go to the  Configuration Application   page ( Setup  Configuration Application ) and select the  Feature Control  tab. 
  3. Select  Edit Mode  to make edits to the fields described in the following steps.
  4. 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:

  1. In the appropriate namespace for your portal, create a class that extends the HSPortal.Production.Operation.AbstractBillingOperation class.
  2. To allow Personal Community members to view a list of billing statements for a given patient, you must implement GetStatementList() .
  3. 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.
  4. 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.
  5. Compile the class.
  6. 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

  1. Log into the Management Portal for Personal Community as a user with the  %EnsRole_Administrator  role and switch to the Personal Community namespace.

  2. Go to the  Credentials  page ( Interoperability   Configure  >  Credentials ).

  3. In the right pane, select  New , then select  OK  at the prompt.

  4. Enter a name for the new set of credentials.

  5. Enter the user name and password for the billing system.

  6. 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:

  1. Log into the Management Portal for Personal Community as a user with the  %EnsRole_Administrator  and switch to the Personal Community namespace.

  2. Go to the  SSL/TLS Configurations  page ( System Administration   Security   SSL/TLS Configurations ) and select  Create New Configuration .

  3. Enter a name of your choice for the configuration.

  4. Make sure that the configuration is enabled: the  Enabled  checkbox should already be selected.

  5. For  Type , make sure that  Client  is selected.

  6. For  Server certificate verification , make sure that  None  is selected.

  7. 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:

  1. Logon to the Management Portal as a user with the  %HS_Administrator  role.
  2. Select  HealthShare   from the main menu.
  3. Select the Unified Care Record Registry.
  4. Navigate to  Registry Management > Service Registry .
  5. Restrict the available services to  SOAP   endpoints by select   HTTP   from the  Service Type   drop down menu.
  6. 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.
  7. Select  Save .

3.5. Adding a Business Operation for the Billing System

To add a business operation for the billing system:

  1. Log into the Management Portal for Personal Community as a user with the   %EnsRole_Administrator   role or one with greater privileges.

  2. Add the business operation associated with the programmatic interface to the billing system:

    1. In the Personal Community namespace, go to the   Production Configuration   page (from the Management Portal Home page,   Interoperability   >   Configure   >   Production ).

    2. On the   Production Configuration   page, under   Operations , select the   +   icon to add a new business operation. This displays the   Business Operation Wizard .

    3. In the Operation Class   drop-down menu, select the name of the class created for your external billing system.

    4. 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:

  1. Log into the Workbench as a user with the  Configuration Manager   role.

  2. Select the  Billing Systems  tab.

  3. On the  Billing Systems  page, select   Add Billing System . This displays the  Billing System Details  page .

  4. On the  Billing System Details  page:

    1. In the   Name   field, enter a name for the billing system. The name can contain spaces.

    2. In the  Description  field, enter a description for the billing system.

    3. In the  Target Operation   field, enter the full name of the business operation you added in your production in the previous step.

    4. 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.

    5. Select  Save .

    6. 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.

    7. Select  Save  again.

3.7. Enabling Billing Activity

To enable billing in the Workbench:

  1. Log into the Workbench as a user with the  Configuration Manager  role.
  2. Go to the  Configuration Application   page ( Setup  Configuration Application ) and select the  Feature Control  tab. 
  3. Select  Edit Mode  to make edits to the fields described in the following steps.
  4. In the  Billing box, select the  Enable Billing  checkbox.

4. Modifying a Billing System Registration

To modify a billing system registration:

  1. Log into the Workbench as a user with the   Configuration Manager   role.

  2. Select the   Setup   tab.

  3. From the   Setup   tab’s menu choices, select   Billing Systems . This displays the   Billing Systems   page.

  4. 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:
    1. In the   Name   field, you can change the name under which this billing system will appear in the Workbench.

    2. In the   Description   field, you can change the description for this billing system.

    3. In the   Target Operation   field, you can change the name of the business operation that handles communications between Personal Community and the billing system.

    4. In the   Payment URL   field, enter the universal URL for the billing system’s payment portal. This field is optional.

    5. 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.

    6. To save your changes, select   Save .

  • To disable a billing system registration:
    1. Select the  Disable  button.
  • To re-enable a billing system registration:
    1. Select the  Enable  button.
  • To delete a billing system registration:
    1. Select the  Delete  button.
    2. 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:

  1. In the Workbench, enable the setting that displays the source file for each page’s content in the public application:

    1. Log into the Workbench as a user with the Configuration Manager role.

    2. Go to the Site Configuration Settings page ( Setup > Site Configuration ).

    3. In the Content Settings section, select Highlight Personal Community content .

    4. Select Apply .

    This is also known as enabling content highlighting or enabling the debug flag .

  2. 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.

  3. Edit the custom copy of the file as required for your organization.

    Note

    1. 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.

  4. Refresh the content for your organization's site.

6.1.1. Refreshing Page Content

To refresh content:

  1. Log into the Workbench as a user who has the Configuration Manager role.

  2. Go to the Content tab.

  3. On the activity pane, select Content Updates . This displays the Content Updates page.

  4. 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.