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):
-
Open Terminal and, if necessary, log in to the Personal Community instance with a system-level account.
-
Switch to the %SYS namespace: zn "%SYS"
-
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:
-
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.
-
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.
-
Save the file.
-
Open Terminal and, if necessary, log in to the Personal Community instance with a system-level account.
-
Switch to the %SYS namespace: zn "%SYS"
-
Run %ZHSPortal.Utils:%CreatePersonalCommunityDemoNamespace () using HS.Local.PersonalCommunity.SampleProduction.cls as <TemplateClassname> and the full pathname of the copied file as <TemplateFilename> .