This repo will be used to store documents that pertain to HLS Blueprints. This will be continually updated as more documents arise.
HLS team provides the latest version of installers for blueprint via docker hub.
!!! Always do this before every (re-)install to ensure removal of old images/files.
- Goto Settings of Chrome
- Click 'Privacy and security' on left pan
- Click 'Clear browsing data'
- Select 'Cached images and files' and click 'Clear data' button
- Goto https://www.docker.com/products/docker-desktop/
- Download and install
- Increase the Docker Desktop memory from default 2GB to 6GB
- Before you begin, free up resources used by docker by running the following in a terminal:
docker system prune --force
-
Create ❗NEW ❗ Twilio account for Flex per Set up your Twilio flex instance. ❗❗❗DO NOT INSTALL TO EXISTING FLEX ACCOUNT WITH OTHER PLUG-INS❗❗❗
- Assign account name: hls-flex-provider (or some variation of)
- Verify MFA
- Wait until complete ...
-
Launch the Flex console and choose 'Login in with Twilio' and then make yourself 'Available'. You ❗❗❗MUST❗❗❗ do this step to properly create a flex worker using your twilio user.
-
Also, go to the Admin section of Flex console and manually add the following to Skills. You ❗❗❗MUST❗❗❗ do this manually. Make sure spelling is correct!
- Scheduling
- Education
-
Upgrade this trial account to regular account via Monkey (you can do this a bit later before you run the demo)
-
Note the ACCOUNT_SID & AUTH_TOKEN of newly created account from the Twilio console
-
In your terminal, execute the following, substituting your Twilio account sid & auth token
export TWILIO_ACCOUNT_SID=your-flex-twilio-account-sid
export TWILIO_AUTH_TOKEN=your-flex-twilio-auth-token
Keep the terminal open as you will use it throughout the installation. Just copy-n-paste the commands below as is and monitor the terminal output for any error messages.
- Start installer and wait 1 minute to start up (watch the terminal output)
docker run --pull=always --name hls-telehealth-installer --rm --publish 3000:3000 \
--env ACCOUNT_SID=${TWILIO_ACCOUNT_SID} --env AUTH_TOKEN=${TWILIO_AUTH_TOKEN} \
--interactive --tty twiliohls/hls-telehealth-installer
- Open installer url below in chrome
http://localhost:3000/installer/index.html
-
Deploy using installer UI entering required information and watch the terminal output
-
Once installation is complete, close the installer via either
- stop button
hls-telehealth-installer
in Docker desktop; or - control-C in your terminal
- stop button
-
Log into Flex account and navigate to 'Functions & Assets' and 'telehealth' service. And, note the hostname at the bottom just above the 'Deploy All' button. This will be your telehealth hostname use later below.
- When pressing the deploy button for the Telehealth installer, it will occassionally fail to deploy some
assets
.- To fix this, just click redeploy until the deployment process successfully finishes. You may need to do this a handful of times.
!!! You can ONLY deploy on a new Flex UI 2.0 Account as you cannot upgrade from 1.3 to 2.0
- Start installer
docker run --pull=always --name hls-flex4p-installer --rm --publish 3000:3000 \
--env ACCOUNT_SID=${TWILIO_ACCOUNT_SID} --env AUTH_TOKEN=${TWILIO_AUTH_TOKEN} \
--interactive --tty twiliohls/hls-flex4p-installer
- Open installer url below in chrome
http://localhost:3000/installer/index.html
-
Deploy using installer UI entering required information and watch the terminal output
- for TELEHEALTH_HOSTNAME use telehealth hostname from above
- for OPENEMR_NGROK_HOSTNAME set to ehr.cloudcityhealthcare.com
-
Once installation is complete, close the installer via either
- stop button
hls-flex4p-installer
in Docker desktop; or - control-C in your terminal
- stop button
- Re-installing will produce the latest version of the plugin
To enable any sort of calling in Flex you will need to enable the dialpad for Flex so you'll need to:
- Login to your Flex Twilio account
- navigate to Flex -> Manage -> Voice on the left-hand panel
- Under "Flex Dialpad":
- Flip on Enable Dialpad
- Caller Id should be your Flex Phone Number (usually 1 phone number if it's a new account)
- Change Task Queue to "Schedulers"
- Task Router Workflow: "Intake by Schedulers"
- Country: "United States of America"
Next, to enable 3 Way External Warm Transfers (3 way calling), you can send a message to a Twilio Team member and they will be able to turn on that feature flag for your Flex Account. Once enabled, You are allowed to call in a 3rd person into the call (for our use case it will be a Spanish Interpreter).
- Remove previous docker image
docker image rm twiliohls/hls-website-installer
- Start installer and wait 1 minute to start up (watch the terminal output)
docker run --pull=always --name hls-website-installer --rm --publish 3000:3000 \
--env ACCOUNT_SID=${TWILIO_ACCOUNT_SID} --env AUTH_TOKEN=${TWILIO_AUTH_TOKEN} \
--interactive --tty twiliohls/hls-website-installer
- Open installer url below in chrome
http://localhost:3000/installer/index.html
-
Deploy using installer UI entering required information and watch the terminal output
-
Once installation is complete, close the installer via either
- stop button
hls-website-installer
in Docker desktop; or - control-C in your terminal
- stop button
-
Note the URL for the
hls-website
service in the Twilio console. -
website URL is
http://your-hls-website-hostname/
- To launch Flex, you MUST launch chrome via command to overcome iframe restrictions of the browser
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials
- Open
http://your-hls-website-hostname/index.html
in chrome substitutingyour-hls-website-hostname
from above.
- OpenEMR
- run the installer and click 'Remove...' button in the installer page; or
- from your docker desktop manually delete the stack or containers individually
- Telehealth
- remove the Serverless service
telehealth
via Twilio console
- remove the Serverless service
- Flex Plugin
- Cannot be removed
- OwlHealth Website
- remove the Serverless service
hls-website
via Twilio console
- remove the Serverless service
This is an optional step and is not required to get things working.
- Set the language we want text to be translated to
- Now assign the language skill to Agents:
- In the Agent Tab, 3rd down on the left panel of the Flex Instance:
- Click on an agent
- On the right there will be the Agent's skills listed
- Click the "Add skill" Dropdown and pick the prefered language to translate to
- Click the Blue Plus button to the right of it and make sure it is checked on
- NOTE: Only have 1 language chosen at a time
- Hit save and you're good to go.
- In the Agent Tab, 3rd down on the left panel of the Flex Instance:
- Enable the Lionbridge plugin
- Go to the Flex admin dashboard and select Plugins
- Select the "Lionbridge Language Cloud" plugin
- Select the "enabled" radiobutton
- Select version either version 1.0.0 or 1.0.1 from the dropdown.
- Select "Save"
- You will be prompted to type in a release name and description. Enter "InitialRelease" as the name and "Initial release" as the description.
- Now incoming SMS will be translated by Lionbridge.
github repo | notes |
---|---|
https://github.com/twilio/hls-frontline-pharma | Frontline for Pharma |
https://github.com/bochoi-twlo/hls-website | Website with flex webchat client |
https://github.com/twilio/hls-telehealth | Either deployed as part of flex or stand-alone |
https://github.com/twilio/hls-flex-provider | Flex plugin for Flex4Provider |
https://github.com/bochoi-twlo/hls-ehr | OpenEMR/Mirth stack for Flex4Provider & PAM |
https://github.com/twilio/hls-outreach-sms/tree/docker-installer | Outreach SMS |
https://github.com/twilio/hls-patient-appointment-management | Patient Appointment Management /w OpenEMR integration |
- Remove previous docker image
docker image rm twiliohls/hls-ehr-installer
- Start installer and wait 1 minute to start up (watch the terminal output)
docker run --pull=always --name hls-ehr-installer --rm --publish 3000:3000 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--env ACCOUNT_SID=${TWILIO_ACCOUNT_SID} --env AUTH_TOKEN=${TWILIO_AUTH_TOKEN} \
--interactive --tty twiliohls/hls-ehr-installer
- Open installer url below in chrome
http://localhost:3000/installer/index.html
-
If you wish to reinstall, you must first remove existing installation by either
- Clicking on the 'Remove...' button at the bottom or
- Manually delete the
hls-ehr
docker stack via the docker desktop. If you are unable to delete the stack, you can delete it's container one-by-one
-
Deploy using installer UI entering required information and watch the terminal output
-
Once installation is complete, close the installer via either
- stop button
hls-ehr-installer
in Docker desktop; or - control-C in your terminal
- stop button
When you accept a task in Flex, the name of the customer in the chat is queried in OpenEMR
in order to obtain patient data and displayed in the information pane.
Thus, OpenEMR must be installed locally on your laptop. ngrok
is also required,
as it allows the plugin to communicate over the internet into the OpenEMR instance running on your local machine.
- Goto https://ngrok.com/download
- Download and install ngrok
- If you have twilio email, register at http://ngrok.com using your twilio email
- Get yourself invited from hls team member to assign a static ngrok url for yourself
(e.g.,
bochoi.ngrok.io
) - Accept the invite and login
- Note your own authtoken at https://dashboard.ngrok.com/get-started/your-authtoken
- Add your authtoken to your ngrok via executing the following in the terminal
ngrok authtoken your-ngrok-auth-token
- Go to Cloud Edge → Domains
- Click '+ New Domain' button
- Add a domain name of your choosing. (e.g.,
ssepac.ngrok.io
using your twilio login) - Note this ngrok domain name for later use
If your ngrok
version is not 3.3 or higher, run the following to update
brew reinstall --cask ngrok
and then upgrade your ngrok configuration too by
ngrok config upgrade --relocate
Note location of configuration file (ngrok.yml
) will be ~/Library/Application Support/ngrok/ngrok.yml
as you'll need to edit this later.