Patient Portal

From OpenEMR Project Wiki

Overview

There are two options for setting up a patient portal. The first option is a functional Patient Portal, which is included with OpenEMR (The Native Patient Portal). The second option is using a third party patient portal, which utilizes a set of APIs included within OpenEMR. For a demonstration of each of these options, try out the Online Demo.

To set up a patient portal with either of the above options will require your OpenEMR instance to be open to the web. To do this in a secure fashion requires an intimate knowledge of all the pieces involved (OpenEMR, Apache, MySQL, PHP, https, certificates, routers, firewalls etc.). A wiki page has been created for the community to begin standardizing ways to ensure that OpenEMR is secure, which can be found at the Securing OpenEMR wiki page.

Native Patient Portal

This is a fully functional onsite (meaning served from the same site as OpenEMR) patient portal.

  • To turn the portal on, toggle on Administration->Globals->Portal->'Enable Onsite Patient Portal'
  • Set the portal web address at Administration->Globals->Portal->'Onsite Patient Portal Site Address' (this address is the link to your portal that gets emailed to patients)
  • Note that if you have multi-site configured for OpenEMR, then need to use the following link to ensure the patient goes to the correct site: https://your_web_site.com/openemr/patients/index.php?site=default (where default is substituted with the site directory)
  • Portal is at openemr/patients/
  • To authorize a patient to use portals, need to set the following demographic entry to 'YES': Demographics->Choices->'Allow Patient Portal'. To allow emailing of the portal login credentials to the patient also need to set an email address in the patient demographics and need to set the following demographic entry to 'YES': Demographics->Choices->'Allow Email'.
  • Patient portal login credentials for patients can be created/reset in the patient summary screen at the 'Create/Reset Onsite Portal Credentials' button (button is located at the top of the summary screen).
  • When click 'Save' in the portal login credentials screen, it will email the credentials to the patient and the credentials can also be printed out. (note that for email to work, patient needs to 1) ok email in demographics->choices, 2) have a email address entered in demographics, 3) an email address needs to be set in Administration->Globals->Notifications->'Patient Reminder Sender Email' )
  • When a patient logs into the portal for the first time (or after credentials are reset), the patient will be forced to set another password.
  • Portal features include the following:
  • Display of CCR and CCD reports.
  • Display of Labs
  • Display of Medications
  • Display of Allergies
  • Display of Appointments
  • The portal is also set to work with OpenEMR's translation engine and uses the same translation login settings of OpenEMR that are set at Administration->Globals->Locale (by default, it will ask the patient for language on login).
  • TODO(for developers):
  • The appointment setting feature by the patient is not yet ready. The find appt and find open slot scripts are still buggy and the extraneous stuff needs to be removed. When these scripts are ready, can then place the following global in Administration->Globals to turn on this feature: Administration->Globals->Connectors->'Allow Patient Modification of Appointments'. Will also need to add following to the openemr_postcalendar_categories table, pc_catname column: Office Visit (Patient Scheduled)

Third Party Patient Portal

OpenEMR contains a set of APIs to support a fully functional offsite (meaning served from a different site than OpenEMR) Patient Portal. By default, it will support the third party patient portal offered by Z&H Healthcare, which is currently the only available and free third party patient portal for OpenEMR. So these instructions are specific to the free Patient Portal offered by Z&H Healthcare.

Video Tutorials

Setup Z&H Healthcare Patient Portal Setup
Register a Patient on Z&H Healthcare Patient Portal
New Patient Register on Z&H Healthcare Patient Portal Setup


Text Instructions

  • To turn the portal on, toggle on Administration->Globals->Portal->'Enable Offsite Patient Portal'
  • Click on 'Portal Activity' link at the top of the left navigation menu
  • Register your practice and write down the following items your entered:
  • 'Provider ID For Patient Login'
  • 'Portal Offsite User Name'
  • 'Portal Offsite Password'
  • Go to Administration->Globals->Portal and fill in the following fields and then click 'Save'
  • 'Offsite Patient Portal Username' from above 'Portal Offsite User Name' entry
  • 'Offsite Patient Portal Password' from above 'Portal Offsite Password' entry
  • Click on 'Portal Activity' link at the top of the left navigation menu
  • Fill in the desired settings and Save
  • To register a patient for the portal:
  • To authorize a patient to use portals, need to set the following demographic entry to 'YES': Demographics->Choices->'Allow Patient Portal'. To allow emailing of the portal login credentials to the patient also need to set an email address in the patient demographics and need to set the following demographic entry to 'YES': Demographics->Choices->'Allow Email'.
  • Patient portal login credentials for patients can be created/reset in the patient summary screen at the 'Create/Reset Offsite Portal Credentials' button (button is located at the top of the summary screen).
  • When click 'Save' in the portal login credentials screen, it will email the credentials to the patient and the credentials can also be printed out. (note that for email to work, patient needs to 1) ok email in demographics->choices, 2) have a email address entered in demographics, 3) an email address needs to be set in Administration->Globals->Notifications->'Patient Reminder Sender Email' )
  • 'Provider ID' is from the entry above when registering the clinic ('Provider ID For Patient Login')
  • User Name and Password are from the patient login credentials created above.