I'm a recent law school grad, who took a bunch of CS classes during school and decided to build a chatbot that answers questions and provides information on the health insurance plan I had during school--Stanford Cardinal Care. It's built using Microsoft's Bot Framework and Cognitive Services. This is my first project on GitHub. By making this repo, I hope to show how chatbot and related AI techniques can be used in the world of health insurance, and insurance more broadly. This prototype is by no means complete, so I will continue to work on it and open to collaboration.
- register your own Microsoft Bot Framework key and passcode (https://docs.microsoft.com/en-us/bot-framework/portal-register-bot)
- register a subscription key for Microsoft Cognitive Services
- substitute these keys and passcode in the relevant part in files: server.js and ocr_msft_comp_vision.py
- install ngrok or similar services to expose your local server (https://ngrok.com/)
- go to the local directory where you clone the files and call the following commands:
- npm init
- npm install
- nodemon server.js
(then open a different terminal window in the root directory)
- ./ngrok http 3000
(copy and paste the https [NOT the http one] url generated by ngrok into the endpoint window in your Bot Framework dashboard in Settings
- open up a browser and go to "localhost:3000"
- type in password "gohilbert" (of course you can change this to whatever you like in server.js)
I was motivated to make this bot, first to keep practising all the CS skills I picked up in my classes and self-study, and second to work on an issue that's
near and dear to my heart, which is to make health insurance more usable, starting from an automated way to explain and provide answers
basic questions that a person may have regarding her health insurance plan. People's understanding of their insurance plan generally low,
as shown by this 2014 Kaiser Famiy Foundation report https://goo.gl/8bIhsx (and perhaps anecdotally among our friends and family as well),
even though we pay a lot of money for it. I think AI, chatbot, and technology in general, combined with relevant legal and regulatory knowledge,
can play a role in fixing this problem.
- Models basic terms and conditions in Stanford Cardinal Care Health Plan (underwritten by HealthNet)
- natural language processing of user input on questions related to medical coverage
- OCR (using Microsoft computer vision API) to scrape raw information from an EOB that user uploads as an image
- educational information on insurance terms:
- copay/coinsurance
- deductibles/out-of-pocket maxiumum
- in and out-of-network providers
- educational cost information on appeal and claims process
- tracking of deductibles and out-of-pocket maximum
- auto-email user a list of preventative care mandated by law
Microsoft Bot Framework Documentation: https://docs.microsoft.com/en-us/bot-framework/
Microsoft Cognitive Services: https://azure.microsoft.com/en-us/try/cognitive-services/
AngularJS 1: https://angularjs.org/
Python Shell package: https://www.npmjs.com/package/python-shell
- Refactor (a lot of!) repeated code
- Auto-Generate appeal letters for claims
- Build more visual representations of certain information to improve UX
- Improve chatbot response speed and delay to make it feel more "human-like"
- Come up with a more robust scheme and structure to model insurance plan terms and conditions
Feel free to reach out if you have questions, issues, or want to collaborate.