Skip to main content

HealthShare Personal Community Demo Production Setup Guide






1. Components of the Demo Production

IMPORTANT

InterSystems strongly recommends that you configure only one Personal Community production for each Unified Care Record.

If you want to enable a Demo Production over SSL, ensure you installed your Unified Care Record instance securely.  For more information about using the TLS demo utiltiy, please consult Setting Up a UCR Demo chapter of the Creating a Unified Care Record Demo System book. 


You can create a running production with the default set of sample data and workflows listed below. If you extend the installed template class, you can customize this sample data as desired before you create your demo instance.

Specifically, the provided class method:

  • Creates and activates a unique Personal Community namespace

  • Creates and activates a reporting namespace

  • Creates a public web site for Personal Community member use

  • Creates the Workbench user interface

  • Starts the Personal Community production

  • Configures a test facility and assigning authority

  • Configures a Personal Community facility OID for the Unified Care Record

  • Configures PIX notifications

  • Configures an authentication domain called   HealthShare Domain

The sample production includes the following data and workflows:

Workbench Users

User User Name Password Security Roles Workflow Groups

John Smith

wbadmin

test

Workbench Admin, Task Processing, Dashboard and Reports Admin

Enrollment Exceptions, Cardiovascular Medicine Messaging, Family Medicine Messaging, Hospital Messaging, Other Specialty Messaging, Self Enrollment

Jane Doe

taskuser

test

Task Processing

Enrollment Exceptions, Self Enrollment

Bill Person

billp

test

Personal Messaging, Task Processing

Cardiovascular Medicine Messaging, Family Medicine Messaging, Hospital Messaging, Other Specialty Messaging

Max Mustermann

maxm

test

Personal Messaging


Jane Dupont

jeandupont

test

Task Processing, Personal Messaging

Enrollment Exceptions, Self Enrollment

Organizations

Organization Address

Cambridge Health Clinic

78 Main St, Cambridge, MA 02141

Children's Hospital

9000 First St, Boston, MA 02117

Clinical Family Health Services

90 Eastern Ave, Medford, MA 02155

Community General Hospital

120 First St, Cambridge, MA 02141

Counseling and Health Resource Center

12 Central Ave, Cambridge, MA 02142

Georgia Regents Medical Center

9001 Main Street, 2nd Floor, Cambridge MA 02141

InterSystems General Hospital

One Memorial Dr, Cambridge, MA 02141

Main St Orthopedics

12 Main Street, Boston, MA 02113

Marysville Family Medicine

293 Huntington Dr, Boston, MA 02115

Memorial Family Medicine

29 Third St, Boston, MA 02108

Memorial Hospital

1324 Overlook Lane, Cambridge, MA 02142

Pediatric Associates

354 Elm Street, Somerville, MA 02145

Union Hospital

45 Elm Street, Somerville, MA 02145

Walden Cardiovascular Center

200 Western Ave, Somerville, MA 02145

West Cardiovascular Center

100 Western Ave, Boston, MA 02115

Women's Health Practice

12 Beech St, Medford, MA 02155

Clinical Groups, Providers, Specialties, Messaging, and Workflow Groups

Clinical Group

Address

Clinical Group Specialties

Providers (Specialties)

Messaging Enabled?

Message Type

Delivery Interface

Workflow Group

Cambridge Health Clinic Main Campus

78 Main St. Cambridge, MA 02141


Dr. James Moore (Family Medicine, General Medicine)

Yes

All

Workbench Task

Other Specialty Messaging

Children's Hospital

9000 First St. Boston, MA 02117

Emergency Medicine, Pediatrics

Dr. Sara Fuller (Pediatrics), Dr, Michael Webber (Emergency Medicine, Pediatrics), Dr. Lance Makey (Emergency Medicine, Family Medicine, Pediatrics), Dr. Alfred Miller (Emergency Medicine, Pediatrics, Radiology)

Yes

All

Workbench Task

Hospital Messaging

Clinical Family Health Services

90 Eastern Ave Medford, MA 02155

Family Medicine

Dr. Bonnie Jacobs (Family Medicine, General Medicine, Internal Medicine, Pediatrics)

Yes

All

Workbench Task

Family Medicine Messaging

Community General Hospital

120 First St Cambridge, MA 02141


Dr. Sam Farrell (Family Medicine, General Medicine), Dr. Otto Smith (Family Medicine, General Medicine)

Yes

All

Workbench Task

Hospital Messaging

Counseling and Health Resource Center

12 Central Ave Cambridge, MA 02142


Dr. Andrea Bradshaw (Psychiatry)

Yes

All

Workbench Task

Other Specialty Messaging

Georgia Regents Medical Center

9001 Main Street Cambridge, MA 02141


Dr. Edward Walsh (General Medicine, Pediatrics), Dr. Jane Smith, Dr. Hector Avion (Emergency Medicine, Family Medicine, Pediatrics)

Yes

All

Workbench Task

Hospital Messaging

InterSystems General Hospital

One Memorial Dr Cambridge, MA 02141


Dr. Brady Johnson MD (Cardiology, Emergency Medicine)

Yes

All

Workbench Task

Hospital Messaging

Main St Orthopedics

12 Main St. Boston, MA 02113


Dr. Scott Stone MD (Orthopedics)

Yes

All

Workbench Task

Other Specialty Messaging

Marysville Family Medicine

293 Huntington Dr. Boston, MA 02115

Family Medicine

Dr. Sam Farrell (Family Medicine, General Medicine)

Yes

All

Workbench Task

Family Medicine Messaging

Memorial Family Medicine

29 Third St. Boston, MA 02108

Family Medicine

Dr. Priya Gupta (Family Medicine, General Medicine, Internal Medicine)

Yes

All

Workbench Task

Family Medicine Messaging

Memorial Hospital

1324 Overlook Lane Cambridge, MA 02142


Dr. Laurence Nichol (Cardiology, Emergency Medicine, General Surgery), Dr. Sean Andrews (Cardiology, Family Medicine)

Yes

All

Workbench Task

Hospital Messaging

Pediatric Associates

354 Elm St. Somerville, MA 02145

Pediatrics

Dr. Karl Leiden (Family Medicine, Pediatrics)

Yes

All

Workbench Task

Other Specialty Messaging

Union Hospital

45 Elm St. Somerville, MA 02155


Dr. Alfred Miller (Emergency Medicine, Pediatrics, Radiology)

Yes

All

Workbench Task

Hospital Messaging

Walden Cardiovascular Center

200 West Avenue Somerville, MA 02145

Cardiology

Dr. Nancy Clabourne (Family Medicine, General Medicine)

No




West Cardiovascular Center

100 Western Ave Boston, MA 02115

Cardiology

Dr. Priya Gupta (Family Medicine, General Medicine, Internal Medicine)

Yes

All

Workbench Task

Cardiovascular Medicine Messaging

Women's Health Practice

12 Beech St. Medford, MA 02155

Gynecology, Internal Medicine

Dr. Adrienne Katz (Gynecology, Internal Medicine)

Yes

All

Workbench Task

Other Specialty Messaging

Questionnaires

Form

Submission Mechanism

Messaging

Library

Demographic

Patient Health Questionnaire (PHQ-9)

Workflow Task (Family Medicine Messaging)

Yes

No

No

Your Personal and Health Information

Workflow Task (Family Medicine Messaging)

Yes

Yes (Public)

No

Pre Admission Information Form

Workflow Task (Hospital Messaging)

Yes

Yes

No

Patient Demographics

Workflow Task (Family Medicine Messaging)

Yes

Yes

Yes

Wellness Program Registration

Workflow Task (Family Medicine Messaging)

Yes

Yes (Public)

No

Note

The form “Your Personal Health Information” uses three embedded forms:   addressForm ,   emailForm , and   phoneNumberForm .

Pharmacies

Name Address

ABC Pharmacy

21 2nd St Medford, MA, 02155

Acme Pharmacy

200 Center St Boston MA, 02117

Acme's Competitor

78 Chester Ave Boston MA, 02166

Corner Drug Store

54 Elm St Cambridge MA, 02142

Local Pharmacy

200 Western Ave Somerville MA, 02145

Pharma Inc.

645 George St Cambridge MA, 02141

Site Configuration Settings

Section

Setting

Value

Application Settings

Workbench User Login Domain

HealthShare Domain

Application Settings

Assigning Authority

<instance name>

Application Settings

Personal Community base URL

http:// {server}:{port}/public/

Enrollment and Account Settings

Email options for Point-of-Care enrollment

Accept user-supplied email

Enrollment and Account Settings

Email options for automated enrollment

User supplied email

Passphrase Configuration

Permit passphrase enrollment

Checked

Required Enrollment Fields

Required enrollment fields

Mother's Maiden Name OR Social Security Number OR Passphrase

Security Question Settings

Number of required security questions

1

System Default Settings

Name Default Value

SMTPServer

If you do not define the SMTP server in the command line of the   routine that creates the production , the value defaults to SMTPServerDemoValue. You may also use a   custom demo production   to specify a different value.

From

If you do not specify a SenderEmail email address in the   routine that creates the production , the value defaults to EmailDemoValue. You may also use a   custom demo production   to specify a different value.

HS.IHE.PIXv3.Consumer.Services:PIXv3ReviseTarget

HSPortal_PIXConsumerProcess

HS.IHE.PIXv3.Consumer.Operations:Device

PIXv3ConsumerDevice

HS.IHE.PIXv3.Consumer.Operations:ServiceName

PIXv3.Manager

HSPortal_PIXConsumerProcess:ExcludeIdentifierTypes

DN,LN,XX

HS.IHE.XDSDb.Consumer.Operations:XDSbRegistryServiceName XDSB.Registry
HSPortal_APIEnrollmentService:DefaultEnrollingUser wbadmin
HSPortal_DemographicsService:AddUpdateUser HS_Services
HSPortal_DemographicsService:AddUpdateUserRoles %HS_Clerical
HSPortal_DemographicsService:SearchUser HS_Services
HSPortal_DemographicsService:SearchUserRoles %HS_Clerical
HSPortal_PatientSDAOperation:User HS_Services
HSPortal_PatientSDAOperation:UserRoles %HS_Clerical
HSPortal_HubOperation:ServiceName HSREGISTRY
HSPortal_EdgeGatewayOperation:ServiceName Registry_machine_hostname :HSEDGE1
HSPortal_PatientSDAOperation:ServiceName Registry_machine_hostname :HSACCESS

RSS Feed

InterSystems Pulse Blog

2. Creating a Demo Production with Default Sample Data and Workflows

IMPORTANT

Before you complete the steps below, you must run the Personal Community installer. Do not proceed with any of the configuration steps.

To create a demo production the simplest way (with default sample data and workflows):

  1. Open Terminal and, if necessary, log in to the Personal Community instance with a system-level account.

  2. Switch to the   %SYS   namespace:   zn "%SYS"

  3. Run the following class method, with parameters as specified:

    set status = ##class(%ZHSPortal.Utils).%CreatePersonalCommunityDemoNamespace(<TemporaryNamespace>, <PortalNamespace>, <TemplateClassname>, 
    <TemplateFilename>, <HubHost>, <HubPort>, <HubNamespace>, <SenderEmail>, <SMTPServer>, <AssigningAuthorityFacilityCode>, <AssigningAuthorityOID>, 
    <PIXServiceName>, <PIXDeviceName>, <PIXOID>, <StatusFilePath>, <ConnectSecurely>, <SSLConfig>, <SecureHubHost>, <SecureHubPort>)
    write status
    
    • <TemporaryNamespace>   — String; required. The name of a temporary namespace for the exclusive use of this class method. If the method runs successfully, this namespace is deleted.

    • <PortalNamespace>   — String; required. The name of the new Personal Community namespace for the installation.

    • <TemplateClassname>   — String. If left empty, the class method uses the default demo installation class,   HSPortal.Production.DemoProduction. 

    • <TemplateFilename>   — String. The name of the file that contains your custom class. If you are using the default sample data and workflows, leave this field empty.

    • <HubHost>   — String; required. The fully-qualified domain name or the IP address of the machine that is running your Unified Care Record.

    • <HubPort>   — String; required. The web server port number of your Unified Care Record.

    • <HubNamespace>   — String; required. The namespace of your Unified Care Record Registry, using the case in which it appears in the Unified Care Record Management Portal (for example,   HSREGISTRY ).

    • <SenderEmail>   — String; required. The email address from which Personal Community email will be sent.

    • <SMTPServer>   — String; required. The fully-qualified domain name of the SMTP server that routes Personal Community email messages to members.

    • <AssigningAuthorityFacilityCode>   — String; optional. The assigning authority facility code by which Personal Community will be recognized in the Unified Care Record. If you leave this parameter empty, it defaults to   HSPortal_FacilityCode . If you supply a value here, you must also supply a value for   AssigningAuthorityOID .

    • <AssigningAuthorityOID>   — String; optional. The OID by which the Personal Community assigning authority will be recognized in the Unified Care Record. If you leave this parameter empty, it defaults to   2.999.11.111.111 . If you supply a value here, you must also supply a value for   AssigningAuthorityFacilityCode .

    • <PIXServiceName>   — String; optional. The name of the Unified Care Record Service Registry entry for the PIX service. If you leave this parameter empty, it defaults to   HSPortal.PIXv3Consumer . If you supply a value here, you must also supply a value for   PIXDeviceName   and   PIXOID .

    • <PIXDeviceName>   — String; optional. The name of the Unified Care Record OID Registry entry for the PIX device. If you leave this parameter empty, it defaults to   HSPortal.PIXv3ConsumerDevice . If you supply a value here, you must also supply a value for   PIXServiceName   and   PIXOID .

    • <PIXOID>   — String; optional. The OID associated with the Unified Care Record OID Registry entry for the PIX device. If you leave this parameter empty, it defaults to   2.999.11.111.222 . If you supply a value here, you must also supply a value for   PIXServiceName   and   PIXDeviceName .

    • <StatusFilePath>   — String; optional. A full physical pathname for a text file on your device; if the file does not yet exist, it will be created. If the method succeeds,   1   will be written to the file. In the case of an error,   0   is written as the first line of the file, and the error status text returned from the method is then written to this file.

    • <ConnectSecurely> – Boolean; optional.  Whether or not to connect to the Unified Care Record Registry over SSL. This is required if setting up a secure system.
    • <SSLConfig> – String;  required if ConnectSecurely is true. This is the SSL Configuration to be used to secure the connection.
    • <SecureHubHost> –  required if ConnectSecurely is true. This is the fully qualified hostname for the Unified Care Record Registry.
    • <SecureHubPort> – required if ConnectSecurely is true.  This is the secure port to access the Unified Care Record Registry.


Example Command Lines for Creating a Demo Production

set status = ##class(%ZHSPortal.Utils).%CreatePersonalCommunityDemoNamespace("TEMPNS","MYPORTAL",,,"myvm.example.com","57772","HSREGISTRY",
"dev@example.com","mail.example.com",,,"MYPORTAL_PIXSERVICE","MYPORTAL_PIXDEVICE","2.999.4.5.777","/home/user/files/testTemplate", 1, "HS.Secure.Demo", "myvm.example.com","8443")

This invocation of the   %CreatePersonalCommunityDemoNamespace   method sets up a demo production as follows:

  • Creates a temporary namespace for production setup,   TEMPNS , which is subsequently deleted if the configuration is successful.

  • Creates a   MYPORTAL   namespace for Personal Community.

  • Uses the configuration in the default production template provided with the installation of Personal Community except for the PIX settings as noted below.

  • Points to a Unified Care Record on   myvm.example.com :8443   whose Registry namespace is   HSREGISTRY .

  • Uses the email address   dev@example.com   as the sender for Personal Community emails.

  • Uses the SMTP server   mail.example.com .

  • Uses the defaults described above for Personal Community assigning authority facility settings.

  • Creates a   MYPORTAL_PIXSERVICE   PIX service and an OID registered to a   MYPORTAL_PIXDEVICE   PIX device.

  • Writes the return status to   /home/user/files/testTemplate .


3. Creating a Demo Production with Custom Data or Workflows

IMPORTANT

Before you complete the steps below, you must run the Personal Community installer. Do not proceed with any of the configuration steps.

Should you want to customize the sample data and workflows before you create the demo production:

  1. Copy   <install-dir> /hscommunity-content/hscommlib/public/base/samples/HS.Local.PersonalCommunity.SampleProduction.cls   to a location of your choice. On a Linux or macOS system, make sure to copy the file to a location where the user and group accounts that own   <install-dir> /hscommunity-content/hscommlib/public/base/samples/HS.Local.PersonalCommunity.SampleProduction.cls   will have read access to it.

  2. Make changes to the copied file as needed. The blocks of code that represent the various configuration items are well commented.

    IMPORTANT

    Do not change the class name or the name of the file.

    Configuration items in some code blocks are dependent upon others. Where this is the case, the code comments note it.

    To enroll and activate patients, populate the   PatientEnrollmentData   XData block at the end of   SampleProduction.cls   as follows:

    XData PatientEnrollmentData [ MimeType = application/json ]
    {
        {
           "CommonPassphrase" : "Pass1phrase",
           "CommonPassword"   : "Pass1word", 
           "Email": "test@example.com",
           "EnrollingUser": "wbadmin",
           "Patients":[
                 {"AssigningAuthority": "UMC","MRN": "S215134"},
                 {"AssigningAuthority": "CGH","MRN": "K4567"},
                 {"AssigningAuthority": "EMERGENCY","MRN": "Ab443"},
                 {"AssigningAuthority": "PHLS","MRN": "S2345"}
           ]
        }
    }
    

    IMPORTANT

    The patients you want to add must be present within the Unified Care Record for Personal Community, and the password and passphrase must meet validation requirements for your instance. The   EnrollingUser   value will be logged to the datamarts.

  3. Save the file.

  4. Open Terminal and, if necessary, log in to the Personal Community instance with a system-level account.

  5. Switch to the   %SYS   namespace:   zn "%SYS"

  6. Run   %ZHSPortal.Utils:%CreatePersonalCommunityDemoNamespace () using   HS.Local.PersonalCommunity.SampleProduction.cls   as   <TemplateClassname>   and the full pathname of the copied file as   <TemplateFilename> .