Chatbot based triaging, self care, care discovery and informational assistant
Chatbot is developed as a backend service that will receive messages incoming from the user, and send messages to the user using a separate api call.
XState-Chatbot is a chatbot developed on the technology XState. XState is a JavaScript implementation of the concept of State-Charts.
Please refer to LOCALSETUP.md to guide you through local setup.
Each sub-project nodejs
and react-app
has it's separate README.
The Xstate Machine that contains the dialog is present in nodejs/src/machine/
. To modify the dialog, please make changes to those file.
Modifying messages without any change to dislog flow could be handled by just modifying the files in messages directory.
Any external api calls are written as part of files present in nodejs/src/machine/service
which would get called from the state machine.
Environment Variables can configured as present in the env-variables.js.
Some of the environment variables and their usage is listed below:
- WHATSAPP_PROVIDER: To configure the WhatsApp Provider. You can take kaleyra.js as a reference implementation.
console
is a provider which could be used to test the project on a developer's locale machine to test the changes. - REPO_PROVIDER: It can be used to configure the datastore for state management between consecutive messages from a user.
InMemory
datastore can be used to kick-off chatbot development.PsotgreSQL
should be used in production environment. - SERVICE_PROVIDER: To ease the dialog development without relying on any backend services, this value could be set to
Dummy
. In production environment it should NOT be set to Dummy. The services are defined in service directory. Which service gets loaded at runtime is defined in service-loader.js
To support remote debugging, we recommend using VSCode. The VSCode launch script file is written which will be used to start the remote debugging session.
Steps to start a remote debugging session:
- Port forward to the the remote server (9229:9229)
- In VSCode Run options, select "Attach to remote"
- Start Debugging
Chat bot uses Encryption Service for data encryption and decryption.
This is the Unified Health Gateway. A broker to negotiate communication between user facing apps and HSPs.
To run this service locally: npm run start-dev To view the API documentation - https://app.swaggerhub.com/apis/raghava-mfine/healthgateway/1.0.0
o2-provider services for oxygen and medical beds supply service.