In the Dev Talk blog series, Patient IO developers discuss code, security, innovation and how it all shapes the healthcare landscape.
athenahealth recently hosted a hackathon focusing on inpatient care. Eric Olszewski and I attended as representatives from Patient IO’s developer team. Our proof of concept imagined a future where bots help nurses with their daily job. We leveraged breakthroughs in chatbot and natural language processing technology recently released by Microsoft to create a personal assistant that helps nurses with an aspect of providing care they typically dread – charting.
Visit any hospital in the US today and you’ll likely find nurses jotting down patient vitals and other information on pieces of paper. Few nurses would say they got into healthcare to do paperwork, yet this task typically accounts for ⅙ to ½ of their time on the job. To compound the issue, administrative and other tracking procedures often require duplicate work.
Despite all the time spent recording information, getting access to the right patient data at the right time is confusing if not impossible. Each patient has multiple nurses and/or doctors managing their care. Charting doesn’t happen in real-time – most nurses enter data into the EHR (Electronic Health Record) system at the end of the shift, relying on on their memories or notes from hours earlier.
Using the MS Bot Framework, our development goals were to serve as a single, up-to-the minute source of truth regarding the patient’s health, prevent erroneous
data, and reduce duplicated efforts by instantly sending data directly to the EHR system. Nurses can use the bot to do their charting from any smartphone or tablet – no more duplicate pieces of paper or filing cabinets. By speaking into the phone or typing into the the dialog box, nurses can simply tell the bot “Patient is Fred Jones. Update temperature to 105.” Fred’s chart will automatically be updated in the cloud and accessible to all care providers in real-time.
One of the challenges in healthcare innovation is that information is often stuck in legacy closed loop software systems. EHR integration was a critical component of making our bot solution work. Although our bot could integrate with any EHR, athena’s open development philosophy made exchanging data with their API easy and seamless.
Things the bot can do and how it works:
- Verify Patient
With just a few pieces of information, our bot is able to verify any patient in the EHR system.
- Review Chart
Once the bot has verified the patient, it can retrieve the most up-to-date information in the patient’s chart.
- Update Vitals
When a nurse tells the bot “update temperature,”or “temperature is 105”, Microsoft’s LUIS, a natural language comprehension system originally developed to support Microsoft’s Cortana, infers that the nurse wishes to update the patient’s vitals. LUIS automatically extracts the data and the Bot Framework is used to make the necessary restful requests to the EHR’s APIs. The patient’s record is updated in real time. To show the extensibility of natural language facility data entry, we made a few tiny changes to our Update Temperature Dialog, which enabled nurses to Update Pulse or other vitals as well. We trained LUIS by providing example phrases to distinguish between requests for different vitals.
- Search Patient Prescriptions
Our bot is able to infer that the nurse wishes to see what prescriptions a patient is taking and returns search results directly the nurse’s phone or device.
- Review Doctor’s Orders
For care providers who want to see the doctor’s most recent orders for a specific patient, checking multiple systems and waiting for hours if not days may be required. Our bot reduces complex database queries to: “What was ordered for patient Fred Jones on his April 24th visit?” The bot then displays results collected from the EHR in real-time.
Our Bot is hosted as a TypeScript Node JS web application in Microsoft Azure. We used GitHub to store the source code, and have integrated automated deployment so each new commit to the master branch causes the bot to be redeployed with the latest changes. This made iterating on our concept fast and very easy.
We used Google’s Angular JS, Angular Material, Sass and TypeScript. To connect our app and the bot we used Google’s (recently acquired) Firebase. Firebase’s simple, real-time Database as a Solution is extremely easy to use and supports very rapid development and debugging.
When it was all said and done, we were one of the three winning teams. We took home the title for Best Inpatient Solution and $1,500 in prize money. However, the real reward was learning how to spin up a bot in a short amount of time. We’ll use what we learned to make new bots in less time and continue expanding capabilities. While 20 hours of hacking is not as relaxing as a weekend playing frisbee on the shores of Lady Bird Lake, it’s exciting to be involved in inventing the future of healthcare and taking part in Austin’s bustling healthtech scene.