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 allows patients to view data from the Unified Care Record within the public application. 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 . Documents — This section contains a patient's aggregated documents for them to view and interact with. Vital Signs — This section contains an aggregated view of a patient's observation data. Care Plans — This section contains any care plans patients have within HealthShare Care Community. 2. Data Access 2.1. Patient Data Access from Unified Care Record 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.1. Available Data Categories Data Category Category Description Allergy Patient Allergy Details Problem Patient Problems and Present Illness Procedure Patient Clinical Procedures (Operations) LabOrder Patient Pathology Orders and Results (Lab) RadOrder Patient Radiology Orders and Results Medication Patient Pharmacy Orders and Medication History Vaccination Patient Vaccines History ClinicalRelationship Patient Care Team Document Patient Documents Observation Patient Observations 2.1.2. 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: DrugProduct.Description DrugProduct.ProductName OrderItem.Description DrugProduct.Generic.Description "for" Indication Instructions - line 1* "Take" DoseQuantity DoseUnits Frquency (Route) " for" Duration DoseQuantity DoseUoM Frequency Route 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 Devices 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 Administrations Vaccination MedicationTranslated Medication Date Administrations:Location AdministeredAtLocation Location Timestamp Administrations.FromTime Administrations.EnteredOn Administrations.UpdatedOn Lab Results - Order Level UI Display REST API SDA Segment LabOrder LabResults 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 LabOrder LabResults 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 Vital Signs Not all observations are displayed: Personal Community excludes inpatient, emergency, and pre-admission observations by default. UI Display REST API SDA Segment: Observations Name ObservationTranslated ObservationCode Value ObservationValue_" "_Observation Units ObservationValue ObservationValueUnits Date Timestamp Timestamp is set based on the first of the following fields to be populated: ObservationTime EnteredOn UpdatedOn FromTime Recorded At EnteredAt EnteredAt Previous Values Display icon if Count>1 2.2. Data Filtering 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 within Personal Community to restrict or enhance the data. 2.2.1. Patient Data Filtering At patient sign in, Personal Community queries the Unified Care Record to obtain the patient's information. This information is processed from SDA into session storage to support the application. Sites have the ability to create an SDA preprocessor to manipulate the incoming data prior to processing. 2.2.1.1. Creating a Custom Class for Filtering Patient Data To create 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. 2.2.1.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 Feature Control page ( Setup > Configuration Application > Feature Control ). In the Records 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 Submit . 2.2.2. Medication Filtering 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. 2.2.2.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) . 2.2.2.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 %FilterMedications 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 . Logon to the Workbench as a user with the Configuration Manager role. Go to the Feature Control page ( Setup > Configuration Application > Feature Control ). In the Records section, select the class that you have created from the Medication Filter Class drop-down list. Select Submit . 2.2.3. Observation (Vital Signs) Filtering You may want to filter the observations presented to members in their health records. This section explains the default behavior of the observation filter in Personal Community, and the steps required to implement a custom observation filter. 2.2.3.1. Default Behavior for Filtering Observations The default observation filter is contained within the HSPortal.EHR.BaseFilters class. The logic contains the following: Whether to include or exclude the observation in the API response: If the Encounter Type associated with the observation is one of the following, it is excluded: Inpatient Emergency Pre-admission 2.2.3.2. Creating a Custom Class for Filtering Observations To create a custom class for filtering observations, 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 %FilterObservations method with site-specific logic. This logic should return a boolean value that answers the question “Is this observation excluded?”. Logon to the Workbench as a user with the Configuration Manager role. Go to the Feature Control page ( Setup > Configuration Application > Feature Control ). In the Records section, select the class that you have created from the Observation Filter Class drop-down list. Select Submit . 2.3. Data Display By default, Personal Community displays patient data exactly as it recieves it from the Unified Care Record. This data can contain medical terminology or abbreviations that can be difficult for patients to understand. Sites may use the Translation Maps functionality of Personal Community to map these medical terms to more appropriate, patient-friendly terms. Personal Community supports translation maps for the following data categories: Allergies Diagnoses Lab Orders Lab Test Results Medications Observations Procedures To configure translation maps: Log into the Workbench as a user with the Translation Manager role. Go to the Translation Maps page ( Setup > Translation Maps ) . Click the button for the translation map you want to define. This will open the Term List Manager for Personal Community. To add a new term to the translation map, select Add Term on the right. Enter the medical code in all capital letters in the Key column and the patient-facing term in the Value column. Repeat as needed to define the term list. Click Save near the top of the page to save. 2.4. Enabling Care Plans from HealthShare Care Community Information This step is only needed if you will be enabling the care plan display 2.4.1. Configuring Creating the Service Registry on Unified Care Record for Care Community Care Plans To create a Service Registry entry for the Care Community web service: 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. Enabling 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): SDA Processor Class - The class to preprocess and transform SDA. Enable Summary Tab Enable Allergies Enable Medications Medication Filter Class - Filter in use for 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 Vital Signs Tab - Select this checkbox to enable the Vital Signs feature allowing patients to view their aggregated observation data. Observation Filter Class - Filter in use for observations (vital signs). 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. After you have finished, select Submit at the bottom of the page to save your changes. 4. 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. 4.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. 4.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. 4.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. 5. 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. 6. 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 Vital Signs content-records-vitals 6.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. 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.