HealthShare Personal Community Patient Data Access Setup Guide
1. Overview
In Personal Community, patients can view a comprehensive overview of their medical records in the Records tab. Personal Community supports filtering for the patient data and medications that patients are able to view. Patients can also access education content pertaining to information in their medical records.
The Records page in the public application contains the following sections:
-
Summary — This section contains an aggregated view of the following data types: Allergies , Medications , Care Team , Conditions , Procedures , Vaccinations .
-
Results — This section contains the following types of results: Lab Results and Radiology Results .
- Care Plans — This section contains any care plans patients have within HealthShare Care Community.
- Documents — This section contains a patient's aggregated documents for them to view and interact with.
2. Data Sharing
Personal Community allows you to import patient data from the Unified Care Record to be viewed by patients in the public application. You may choose to import all available data categories or a select few.
2.1. Field Mappings
Allergies
UI Display | REST API | SDA Segment: Allergy |
---|---|---|
Allergy | AllergyTranslated | Allergy |
Reaction | Reaction | Reaction |
Status* | Status | Status |
*only appears on browser details table
Medications
Not all medications are displayed:
- Personal Community excludes inpatient medications by default
UI Display | REST API | SDA Segment: Medication |
---|---|---|
Medication | medicationTranslated "for" indication |
%GetMedicationName to generate medicationTranslate. Value comes from the following:
"for" Indication |
Instructions - line 1* | "Take" DoseQuantity DoseUnits Frquency (Route) " for" Duration |
|
Instructions - line 2 | instructions | TextInstructions |
Details* | Provider | %GetCareProviderName |
Status* | Status | Status |
*only appears on browser details table
Care Team
UI Display | REST API | SDA Segment: Patient or ClinicalRelationship |
---|---|---|
Provider | Name |
Clinician.Name (if clinical relationship) FamilyDoctor.Name (if present in Patient) |
Role | Role | Clinician.CareProviderType |
Address | SimpleAddress | Clinician.Address |
Conditions
UI Display | REST API | SDA Segment: Problem |
---|---|---|
Condition | Problem | Problem |
Details | Details | ProblemDetails |
Status | Status | Status |
Procedures
UI Display | REST API |
SDA Segments
|
---|---|---|
Procedure | ProcedureTranslated | Procedure |
Date | Timestamp | ProcedureTime |
Performed | Provider "at" EnteredAt | %GetCareProviderName "at" EnteredAt |
Device* | Devices.Device | Device |
Serial Number* | Devices.UDIAssigningAuthority | UDIAssigningAuthority |
Distributor* | Devices.UDIExtension | UDIExtension |
*Appears as a drop down in the browser details page. Only present if there was an implantable device
Vaccinations
UI Display | REST API |
SDA Segments
|
---|---|---|
Vaccination | MedicationTranslated | Medication |
Date | Administrations:Location | AdministeredAtLocation |
Location | Timestamp |
|
Lab Results - Order Level
UI Display | REST API |
SDA Segment
|
---|---|---|
Description | OrderedItemDisplay | OrderItem |
Ordering Provider | OrderedBy | OrderedBy |
Performed At | EnteringOrganization | %GetHealthCareFacility |
Performed On | ResultTime (date portion) | ResultTime |
Status | ResultStatus | ResultStatus |
Report |
DocumentID
|
|
Lab Result - Item Level
UI Display | REST API |
SDA Segment
|
---|---|---|
Title | OrderedItemDisplay | OrderItem |
Performed On | ResultTime (date portion) | ResultTime |
Order By | OrderedBy | OrderedBy |
Result Description | ResultItem:TestTranslated | TestItemCode |
Your test result | ResultItem:ResultValue_" "_ResultValueUnits |
ResultValue ResultValueUnits |
Reference range | ResultItem:ReferenceRange | ResultNormalRange |
Radiology Results - Order Level
UI Display | REST API |
SDA Segment RadOrder |
---|---|---|
Description | OrderedItemDisplay | OrderItem |
Ordering Provider | OrderedBy | OrderedBy |
Performed At | EnteringOrganization | %GetHealthCareFacility |
Performed On | ResultTime (date portion) | ResultTime |
Status | ResultStatus | ResultStatus |
Report | DocumentID |
|
Radiology Results - Order Level
UI Display | REST API | SDA Segment: Field |
---|---|---|
Title | OrderedItemDisplay | OrderItem |
Performed On | ResultTime (date portion) | ResultTime |
Order By | OrderedBy | OrderedBy |
Imaging Report | ResultText | ResultText |
Documents
UI Display |
REST API |
SDA Segment: Field |
---|---|---|
Name | DocumentName | DocumentName |
Document Tyoe | DocumentType | DocumentType |
Organization | EnteredAt | EnteredAt |
Date | Timestamp |
Timestamp is set based on the first of the following fields to be populated: -DocumentTime -AuthorizationTime -TranscriptionTime -EnteredOn -UpdatedOn |
Report | DocumentID | DocumentID |
> | Document | NoteText |
2.2. Configuring Care Community
- 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 HTTP endpoints by select HTTP from the Service Type drop down menu.
-
Enter the following values for the fields:
- Name - Enter the name - has to be "CareCommunity"
- Service Type - Select HTTP.
- Host - Enter the host name for the Care Community web service. Should be secure (ie. "<vm-name>. iscinternal.com ")
- Port - Enter the HTTPs port for the Care Community web service.
- SSL Configuration - Enter your SSL configuration for secure communications
- URL - Enter the full path to the Care Community web service, which should be "/api/healthshare-rest/<Care Community namespace>
- HTTPCredentialsConfig - Enter the name of the credentials object you created for this entry.
- Select Save .
3. Configuring Records in the Workbench
To enable the Records page 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 Records box, select the Enable checkbox.
-
Select at least one of the following tabs (and at least one category within each tab you enable):
-
Enable Summary Tab
- Enable Allergies
- Enable Medications
- Enable Care Team
- Enable Conditions
- Enable Procedures
- Enable Vaccinations
- Enable Information Buttons - Select this checkbox if you wish to include in-context information for the medications, conditions, procedures, and vaccinations categories (if you have selected any of those).
-
Enable Results Tab
- Enable Labs
- Enable Imaging Results
- Enable Documents Tab - Select this checkbox to enable the Documents feature allowing patients to view and interact with their aggregated documents.
-
Enable Care Plan Tab
-
Select this checkbox and proceed to fill out the two following required fields:
- Care Community Assigning Authority - the Assigning Authority name defined for Care Community in the Unified Care Record
- Care Community Service Registry Name - the name of the service registry entry created in the Unified Care Record.
-
Enable Summary Tab
- After you have finished, select Submit at the bottom of the page to save your changes.
4. Filtering Patient Data
By default, patients can access their entire medical record in Personal Community. You may want to filter this data before it reaches patients. This section explains the steps required to implement a patient data filter.
4.1. Creating a Custom Class for Filtering Patient Data
-
In the appropriate namespace for your portal, create a class that extends the HSPortal.EHR.SDAProcessor class. If an extension already exists, open it for editing.
-
In that subclass, override the %PreProcessSessionSDA method with site-specific logic.
-
Compile the subclass.
For an example of a class that performs filtering, see the HSPortal.EHR.Samples.SDAProcessor class. The %ProcessMethodTemplate method provides a basic template for the code to process the SDA that Personal Community receives.
4.2. Adding the Patient Data Filter in the Workbench
After the class for patient data filtering has been created, you must select this class for use.
To add a patient data filtering class in the Workbench:
-
Logon to the Workbench as a user with the Configuration Manager role.
-
Go to the Site Configuration Settings page ( Setup > Site Configuration ).
-
In the Application Settings section, select the class that you have created in the previous step from the SDA processor class drop-down list. (This class may already have been selected for other configuration tasks.)
-
Select Apply .
5. Filtering Medications
You may want to filter the medications presented to members in their health records. This section explains the default behavior of the medication filter in Personal Community, and the steps required to implement a custom medication filter.
5.1. Default Behavior for Filtering Medications
The default medication filter is contained within the HSPortal.EHR.BaseFilters class. The logic contains two steps:
-
Whether to include or exclude the medication in the API response:
-
If the Encounter Type associated with the medication is one of the following, it is excluded:
-
Inpatient
-
Emergency
-
Not Applicable
-
Pre-admit
-
-
-
Whether to set IsCurrent to 1 or leave as 0 by default. A value of 1 means that the medication is active:
-
Set to 1 if:
-
the status is NOT in the following list: inactive, completed, discontinued, cancelled, entered-in-error, stopped, not-taken, declined.
And:
-
the medication does not contain a ToTime value in its SDA data
- Or:
-
it contains a ToTime value that is within the configured cutoff time span.
-
-
Note
To check this value, go to the Workbench and navigate to Site Configuration > Application Settings . On this page, see the value listed under Cutoff for classifying a medication as current (in days) .
For an example of a class that performs filtering, see the class. The %ProcessMethodTemplate method provides a basic template for the code to process the SDA that Personal Community receives.
5.2. Creating a Custom Class for Filtering Medications
To create a custom class for filtering medications, complete the following steps:
-
In the appropriate namespace for your portal, create a class that extends the HSPortal.EHR.Basefilters class. If an extension already exists, open it for editing.
-
In that subclass, override the %FilterMedication method with site-specific logic. This logic should return a boolean value that answers the question “Is this medication excluded?”. Additionally, you will want to include logic for the value of IsCurrent .
-
On your Personal Community instance, open a Terminal session and ensure you are in the Personal Community namespace.
-
Execute the following command:
set status = ##class(HSPortal.Config.Values).%UpdateValue("EHRFilterClass", customFilterName)
Where customFilterName is the name of your custom class.
6. In-Context Education
On the Summary page, Personal Community allows patients to consult educational resources relevant to the specific records they are viewing. For each eligible record, an info button may appear that links to educational content.
By default, Personal Community uses the MedlinePlus medical library as it’s source for in-context education content. MedlinePlus provides information from the U.S. National Library of Medicine of the National Institutes of Health ( http://www.nlm.nih.gov/medlineplus/ ). You can configure Personal Community to access content from a different third-party source.
6.1. Implementing a Custom Class for In-Context Education
IMPORTANT
If you are receiving in-context education content from MedLinePlus, the default HSPortal.Search.MedLine.ConnectSearch class is provided within Personal Community.
If content is coming from another third-party provider, you must complete the steps in this section.
To create and apply a custom class for in-context education in Personal Community, complete the following steps:
-
Extend the HSPortal.Search.Base class, and place the class in a site-specific package; it must be in a different package than the HSPortal package.
-
Modify that subclass. Specifically, specify code in the %OnSearch method to call the third-party content source. For an example of an info button search, see the HSPortal.Search.MedLine.ConnectSearch class.
-
Compile the subclass.
At this point, the subclass is available for use, and you can change the search class in the Workbench:
-
Logon to the Workbench as a user with the Configuration Manager role.
-
Select the Setup tab.
-
From the Setup tab’s menu choices, select Site Configuration . This displays the Site Configuration Settings page.
-
On the Site Configuration Settings page, in the Third-party search classes area, select the classes of interest in the Info button search class drop-down list and the Free text search class drop-down list.
-
Select Apply at the bottom of page to save these changes.
6.2. Caching Search Results
If you want to cache search results, the procedure to specify this is:
-
Log into the Workbench as a user with the Configuration Manager role.
-
Select the Setup tab.
-
From the Setup tab’s menu choices, select Site Configuration .
-
On the Site Configuration Settings page, in the Application Settings area, select the Cache third-party search results check box.
-
Select Apply at the bottom of page to save this change.
6.3. Enabling Information Buttons in the Workbench
To enable information buttons 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 Records box, select the Enable Records checkbox.
- Select Enable Information Buttons.
- Select Submit at the bottom of the page to save your changes.
7. Connecting a Third-Party PACS Viewer
You can configure Personal Community so that patients can view images of their radiology results in the Records tab and the Results card on the home page. This can be done by providing a link to a third-party patient-facing image viewer (such as a PACS viewer).
Personal Community determines whether or not to display a view button next to a specific result based on whether the ViewerLink property is populated. If the ViewerLink field for a result is populated with a URL, the view button is present and the patient can click the button to be redirected to the image viewer. If it is not populated, the view button does not appear.
You can populate the ViewerLink field with one of the two following options:
- A fully qualified URL to the viewer launcher.
-
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
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 ViewerLink field as well as clears it.
You must update the HS.Local.SDA3.RadOrderExtension , in both your Personal Community and Unified Care Record instances, to have the ViewerLink property. See the documentation for more information on this process. You must recompile the HS.SDA3.RadOrder class in both the Unified Care Record and Personal Community.
8. Available Content Files
The following content files exist in the Records tab of the public application, which you may wish to update:
Application Page | Content File |
---|---|
Summary | content-records-summary |
Allergy Details (Browser) | content-records-summary-allergies |
Medication Details (Browser) | content-records-summary-medications |
Care Team Details (Browser) | content-records-summary-careteam |
Conditions Details (Browser) | content-records-summary-conditions |
Procedures Details (Browser) | content-records-summary-procedures |
Vaccination Details (Browser) | content-records-summary-vaccinations |
Results | content-records-results |
Care Plans |
content-records-care-plans |
Documents | content-records-documents |
8.1. Updating Page Content Related to Records
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.
8.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.